From 50b9080bb36c4a2547c7eb98c83a0163f69df448 Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Tue, 15 Feb 2022 12:47:45 +0530 Subject: [PATCH 01/12] remove frontend and add basic templating framework --- Procfile | 2 +- admin/frontend_resources.py | 49 + admin/frontend_utils.py | 56 + admin/resources.py | 14 +- admin/static/forms.css | 158 + admin/templates/home.html | 28 + admin/templates/signup.jinja2 | 99 + admin/version_models.py | 11 + app/blueprints.py | 2 + config.py | 11 +- dbs.py | 2 + doga-frontend/.eslintcache | 1 - doga-frontend/README.md | 70 - doga-frontend/package-lock.json | 20669 ---------------- doga-frontend/package.json | 69 - doga-frontend/public/doga.jpg | Bin 105470 -> 0 bytes doga-frontend/public/doga_apps.png | Bin 36585 -> 0 bytes doga-frontend/public/doga_dashboard.png | Bin 53320 -> 0 bytes doga-frontend/public/doga_db.png | Bin 43729 -> 0 bytes doga-frontend/public/doga_export.png | Bin 18176 -> 0 bytes doga-frontend/public/doga_log.png | Bin 50206 -> 0 bytes doga-frontend/public/doga_login.png | Bin 24580 -> 0 bytes doga-frontend/public/doga_server.png | Bin 62039 -> 0 bytes doga-frontend/public/doga_signup.png | Bin 41790 -> 0 bytes doga-frontend/public/electron.js | 38 - doga-frontend/public/favicon.ico | Bin 3870 -> 0 bytes doga-frontend/public/images.png | Bin 2638 -> 0 bytes doga-frontend/public/index.html | 43 - doga-frontend/public/logo.jpg | Bin 22986 -> 0 bytes doga-frontend/public/logo192.png | Bin 5347 -> 0 bytes doga-frontend/public/logo512.png | Bin 9664 -> 0 bytes doga-frontend/public/maleLogo.png | Bin 50164 -> 0 bytes doga-frontend/public/manifest.json | 25 - doga-frontend/public/many-many.png | Bin 6742 -> 0 bytes doga-frontend/public/many-one.png | Bin 4443 -> 0 bytes doga-frontend/public/one-many.png | Bin 5353 -> 0 bytes doga-frontend/public/one-one.png | Bin 2850 -> 0 bytes doga-frontend/public/robots.txt | 3 - doga-frontend/src/Api.js | 122 - doga-frontend/src/App.css | 38 - doga-frontend/src/App.js | 201 - doga-frontend/src/App.test.js | 8 - doga-frontend/src/components/Header/Header.js | 426 - .../ImageUploadSelect/ImageUploadSelect.js | 135 - .../src/components/Modal/AppTableCreation.js | 97 - .../src/components/Modal/AppTableData.js | 595 - .../src/components/Modal/BaseJwtLogin.js | 120 - .../src/components/Modal/ContentField.js | 447 - .../src/components/Modal/EditDatabase.js | 46 - .../src/components/Modal/ImageView.js | 39 - .../src/components/Modal/RichTextView.js | 47 - .../src/components/Sidebar/Sidebar.js | 405 - .../Sidebar/Tabs.js/DropableTabs.js | 85 - .../src/components/Sidebar/Tabs.js/Tabs.js | 48 - .../src/containers/AppDocs/AppDocs.js | 416 - .../src/containers/AppHome/AppHome.js | 499 - .../src/containers/AppHome/DoughnutChart.js | 70 - .../src/containers/Application/Application.js | 64 - .../containers/Application/ApplicationNext.js | 293 - .../src/containers/Application/Content.js | 848 - .../containers/Application/CreateAppName.js | 57 - .../src/containers/Application/CreateTable.js | 1376 - .../containers/Application/CreateTableName.js | 67 - .../CreateDatabase/CreateDatabase.js | 233 - .../src/containers/Dashboard/Dashboard.js | 72 - .../src/containers/Database/Database.js | 126 - doga-frontend/src/containers/Deploy/Aws.js | 324 - doga-frontend/src/containers/Deploy/Deploy.js | 105 - .../src/containers/Deploy/HerokuDeploy.js | 138 - .../src/containers/Deploy/RdsConfig.js | 288 - .../src/containers/Deploy/UserConfig.js | 173 - .../src/containers/Deploy/UserCredentials.js | 174 - doga-frontend/src/containers/Login/Login.js | 207 - .../src/containers/Plugins/Sendgrid.js | 479 - .../src/containers/Plugins/Twilio.js | 291 - doga-frontend/src/containers/Signup/Signup.js | 227 - doga-frontend/src/index.css | 13 - doga-frontend/src/index.js | 21 - doga-frontend/src/logo.svg | 1 - doga-frontend/src/reportWebVitals.js | 13 - doga-frontend/src/setupTests.js | 5 - doga-frontend/src/styles/globals.css | 575 - doga-frontend/src/styles/index.js | 559 - doga-frontend/src/styles/stepper.css | 54 - doga-frontend/src/styles/theme.js | 108 - requirements.txt | 8 +- runserver.py | 7 +- 87 files changed, 430 insertions(+), 31670 deletions(-) create mode 100644 admin/frontend_resources.py create mode 100644 admin/frontend_utils.py create mode 100644 admin/static/forms.css create mode 100644 admin/templates/home.html create mode 100644 admin/templates/signup.jinja2 delete mode 100644 doga-frontend/.eslintcache delete mode 100644 doga-frontend/README.md delete mode 100644 doga-frontend/package-lock.json delete mode 100644 doga-frontend/package.json delete mode 100644 doga-frontend/public/doga.jpg delete mode 100644 doga-frontend/public/doga_apps.png delete mode 100644 doga-frontend/public/doga_dashboard.png delete mode 100644 doga-frontend/public/doga_db.png delete mode 100644 doga-frontend/public/doga_export.png delete mode 100644 doga-frontend/public/doga_log.png delete mode 100644 doga-frontend/public/doga_login.png delete mode 100644 doga-frontend/public/doga_server.png delete mode 100644 doga-frontend/public/doga_signup.png delete mode 100644 doga-frontend/public/electron.js delete mode 100644 doga-frontend/public/favicon.ico delete mode 100644 doga-frontend/public/images.png delete mode 100644 doga-frontend/public/index.html delete mode 100644 doga-frontend/public/logo.jpg delete mode 100644 doga-frontend/public/logo192.png delete mode 100644 doga-frontend/public/logo512.png delete mode 100644 doga-frontend/public/maleLogo.png delete mode 100644 doga-frontend/public/manifest.json delete mode 100644 doga-frontend/public/many-many.png delete mode 100644 doga-frontend/public/many-one.png delete mode 100644 doga-frontend/public/one-many.png delete mode 100644 doga-frontend/public/one-one.png delete mode 100644 doga-frontend/public/robots.txt delete mode 100644 doga-frontend/src/Api.js delete mode 100644 doga-frontend/src/App.css delete mode 100644 doga-frontend/src/App.js delete mode 100644 doga-frontend/src/App.test.js delete mode 100644 doga-frontend/src/components/Header/Header.js delete mode 100644 doga-frontend/src/components/ImageUploadSelect/ImageUploadSelect.js delete mode 100644 doga-frontend/src/components/Modal/AppTableCreation.js delete mode 100644 doga-frontend/src/components/Modal/AppTableData.js delete mode 100644 doga-frontend/src/components/Modal/BaseJwtLogin.js delete mode 100644 doga-frontend/src/components/Modal/ContentField.js delete mode 100644 doga-frontend/src/components/Modal/EditDatabase.js delete mode 100644 doga-frontend/src/components/Modal/ImageView.js delete mode 100644 doga-frontend/src/components/Modal/RichTextView.js delete mode 100644 doga-frontend/src/components/Sidebar/Sidebar.js delete mode 100644 doga-frontend/src/components/Sidebar/Tabs.js/DropableTabs.js delete mode 100644 doga-frontend/src/components/Sidebar/Tabs.js/Tabs.js delete mode 100644 doga-frontend/src/containers/AppDocs/AppDocs.js delete mode 100644 doga-frontend/src/containers/AppHome/AppHome.js delete mode 100644 doga-frontend/src/containers/AppHome/DoughnutChart.js delete mode 100644 doga-frontend/src/containers/Application/Application.js delete mode 100644 doga-frontend/src/containers/Application/ApplicationNext.js delete mode 100644 doga-frontend/src/containers/Application/Content.js delete mode 100644 doga-frontend/src/containers/Application/CreateAppName.js delete mode 100644 doga-frontend/src/containers/Application/CreateTable.js delete mode 100644 doga-frontend/src/containers/Application/CreateTableName.js delete mode 100644 doga-frontend/src/containers/CreateDatabase/CreateDatabase.js delete mode 100644 doga-frontend/src/containers/Dashboard/Dashboard.js delete mode 100644 doga-frontend/src/containers/Database/Database.js delete mode 100644 doga-frontend/src/containers/Deploy/Aws.js delete mode 100644 doga-frontend/src/containers/Deploy/Deploy.js delete mode 100644 doga-frontend/src/containers/Deploy/HerokuDeploy.js delete mode 100644 doga-frontend/src/containers/Deploy/RdsConfig.js delete mode 100644 doga-frontend/src/containers/Deploy/UserConfig.js delete mode 100644 doga-frontend/src/containers/Deploy/UserCredentials.js delete mode 100644 doga-frontend/src/containers/Login/Login.js delete mode 100644 doga-frontend/src/containers/Plugins/Sendgrid.js delete mode 100644 doga-frontend/src/containers/Plugins/Twilio.js delete mode 100644 doga-frontend/src/containers/Signup/Signup.js delete mode 100644 doga-frontend/src/index.css delete mode 100644 doga-frontend/src/index.js delete mode 100644 doga-frontend/src/logo.svg delete mode 100644 doga-frontend/src/reportWebVitals.js delete mode 100644 doga-frontend/src/setupTests.js delete mode 100644 doga-frontend/src/styles/globals.css delete mode 100644 doga-frontend/src/styles/index.js delete mode 100644 doga-frontend/src/styles/stepper.css delete mode 100644 doga-frontend/src/styles/theme.js diff --git a/Procfile b/Procfile index e53ed41..37b3677 100644 --- a/Procfile +++ b/Procfile @@ -1,3 +1,3 @@ doga: python3 -u runserver.py notifications: python3 -u push_server/push_server.py -frontend: sh -c 'cd $PWD/doga-frontend && npm install && npm start' +// frontend: sh -c 'cd $PWD/doga-frontend && npm install && npm start' diff --git a/admin/frontend_resources.py b/admin/frontend_resources.py new file mode 100644 index 0000000..924c6ee --- /dev/null +++ b/admin/frontend_resources.py @@ -0,0 +1,49 @@ +from flask import Blueprint, render_template, make_response, redirect, url_for +from flask_restful import Api, Resource, marshal_with, fields + +from admin.frontend_utils import * +from datetime import datetime + +mod_frontend = Blueprint("frontend", + __name__, + template_folder="templates", + static_folder='static', + static_url_path='/static') + +api_frontend = Api() +api_frontend.init_app(mod_frontend) + + +class test(Resource): + def get(self): + return render_template("home.html", + my_string="Wheeeee!", + my_list=[0, 1, 2, 3, 4, 5]) + + +class Signup(Resource): + def get(self): + """User sign-up form for account creation.""" + form = SignupForm() + return render_template("signup.jinja2", + form=form, + template="form-template", + title="Signup Form") + + @marshal_with('signup') + def post(self): + form = SignupForm() + if form.validate_on_submit(): + return {'redirect(url_for("success"))'}, 200 + + else: + return "sad" + + +api_frontend.add_resource(test, "/test") +api_frontend.add_resource(Signup, "/signup") + + +@api_frontend.representation("text/html") +def out_html(data, code, headers): + return make_response(data) \ No newline at end of file diff --git a/admin/frontend_utils.py b/admin/frontend_utils.py new file mode 100644 index 0000000..37f251c --- /dev/null +++ b/admin/frontend_utils.py @@ -0,0 +1,56 @@ +"""Form object declaration.""" +from flask_wtf import FlaskForm, RecaptchaField +from wtforms import ( + DateField, + PasswordField, + SelectField, + StringField, + SubmitField, + TextAreaField, +) +from wtforms.validators import URL, DataRequired, Email, EqualTo, Length + + +class ContactForm(FlaskForm): + """Contact form.""" + + name = StringField("Name", [DataRequired()]) + email = StringField( + "Email", [Email(message="Not a valid email address."), + DataRequired()]) + body = TextAreaField( + "Message", + [DataRequired(), + Length(min=4, message="Your message is too short.")]) + submit = SubmitField("Submit") + + +class SignupForm(FlaskForm): + """Sign up for a user account.""" + + email = StringField( + "Email", [Email(message="Not a valid email address."), + DataRequired()]) + password = PasswordField( + "Password", + [DataRequired(message="Please enter a password.")], + ) + confirmPassword = PasswordField( + "Repeat Password", + [EqualTo(password, message="Passwords must match.")]) + title = SelectField( + "Title", + [DataRequired()], + choices=[ + ("Farmer", "farmer"), + ("Corrupt Politician", "politician"), + ("No-nonsense City Cop", "cop"), + ("Professional Rocket League Player", "rocket"), + ("Lonely Guy At A Diner", "lonely"), + ("Pokemon Trainer", "pokemon"), + ], + ) + website = StringField("Website", validators=[URL()]) + birthday = DateField("Your Birthday") + recaptcha = RecaptchaField() + submit = SubmitField("Submit") \ No newline at end of file diff --git a/admin/resources.py b/admin/resources.py index facbc53..6bc5a52 100644 --- a/admin/resources.py +++ b/admin/resources.py @@ -49,7 +49,10 @@ ALGORITHM = sha512_crypt -mod_admin = Blueprint("admin", __name__) +mod_admin = Blueprint( + "admin", + __name__, +) api_admin = Api() api_admin.init_app(mod_admin) @@ -1810,26 +1813,21 @@ def get(self, section, filter_=None): return {"result": "Error resource not created yet."}, 400 +#TODO: can we do this iteratively or neater ? + api_admin.add_resource(AdminApi, "/admin_profile", "/admin_profile/") api_admin.add_resource(Login, "/login") - api_admin.add_resource(DatabaseInit, "/dbinit", "/dbinit/types/") - api_admin.add_resource( ContentType, "/content/types", "/content/types//", ) - api_admin.add_resource(ColumnType, "/columntypes") - api_admin.add_resource(ColumnRelations, "/content/relations") - api_admin.add_resource(ExportApp, "/export/") - api_admin.add_resource(CreateNotifications, "/notify/") - api_admin.add_resource(AdminDashboardStats, "/dashboard/stats//") diff --git a/admin/static/forms.css b/admin/static/forms.css new file mode 100644 index 0000000..571146d --- /dev/null +++ b/admin/static/forms.css @@ -0,0 +1,158 @@ +form { + background: white; + width: 100%; + } + + .form-field { + position: relative; + border: 0; + padding: 0; + } + + .container { + padding: 80px; + display: flex; + justify-content: space-around; + } + + @media(max-width: 500px) { + .container { + padding: 0; + } + } + + .title { + font-size: 1.7rem; + color: #5f6988; + font-weight: 300; + border-bottom: 1px solid #dbe3ec; + padding-bottom: 5px; + margin: 0 0 40px 0; + } + + .form-wrapper { + background: white; + width: 350px; + box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); + padding: 40px; + } + + label { + font-size: .9em; + color: #5f6988; + margin-bottom: 3px; + display: block; + font-weight: 300; + } + + input, textarea, select { + padding: 10px 13px; + margin-bottom: 15px; + width: -webkit-fill-available; + width: -moz-available; + border-radius: 2px; + border: 1px solid #d4d9e3; + font-weight: 200; + color: #4d5060; + font-family: 'Poppins', sans-serif; + transition: all .3s ease-out; + font-size: .9em; + outline-color: transparent; + outline-style: none; + } + + select { + -webkit-appearance: none; + } + + select::after { + content: "hello"; + width: 0; + height: 0; + border-left: 20px solid transparent; + border-right: 20px solid transparent; + display: block; + border-top: 20px solid #f00; + } + + input[type="text"]::placeholder { + color: #d4d9e3; + } + + input[type="text"]:hover, + input[type="password"]:hover, + textarea:hover, + select:hover { + border-color: #5eb9d7; + background: #d9f6ff; + } + + input[type="text"]:focus, + input[type="password"]:focus, + textarea:focus { + background: white; + border-color: #5eb9d7; + box-shadow: unset; + } + + input[type="submit"], + button { + background: #5eb9d7; + color: white; + border-radius: 2px; + margin-top: 15px; + font-weight: 400; + border: 1px solid #5eb9d7; + line-height: 1; + transition: all .3s ease-out; + } + + input[type="submit"]:hover, + button:hover { + cursor: pointer; + background: white; + color: #5eb9d7; + padding: 13px !important; + } + + .success-wrapper { + background: white; + width: 350px; + box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); + padding: 50px; + } + + .errors { + list-style: none; + margin: -15px 0 20px; + font-size: .8em; + text-align: left; + width: -webkit-fill-available; + width: -moz-available; + background: #fae7ea; + padding: 9px 15px; + border-radius: 0 0 3px 3px; + border-top: 0; + border: 1px solid #e1c5c5; + color: #8d7575; + height: fit-content; + } + + .error { + margin-bottom: 5px; + } + + .error:last-of-type { + margin-bottom: 0; + } + + i { + height: 15px; + color: #8d7575; + margin-right: 5px; + font-size: .9em; + } + + .g-recaptcha div { + margin: auto; + } \ No newline at end of file diff --git a/admin/templates/home.html b/admin/templates/home.html new file mode 100644 index 0000000..71ae825 --- /dev/null +++ b/admin/templates/home.html @@ -0,0 +1,28 @@ + + + + Flask Template Example + + + + + +
+

My string: {{my_string}}

+

Value from the list: {{my_list[3]}}

+

Loop through the list:

+
    + {% for n in my_list %} +
  • {{n}}
  • + {% endfor %} +
+
+ + + + diff --git a/admin/templates/signup.jinja2 b/admin/templates/signup.jinja2 new file mode 100644 index 0000000..6081b01 --- /dev/null +++ b/admin/templates/signup.jinja2 @@ -0,0 +1,99 @@ + +{% block styles %} + + + +{% endblock %} + +{% block content %} + +
+

Sign Up

+ +
+ {{ form.csrf_token }} + +
{{ form.email.label }} {{ form.email }} + {% if form.email.errors %} +
    + {% for error in form.email.errors %} +
  • + {{ error }} +
  • + {% endfor %} +
+ {% endif %} +
+ +
{{ form.password.label }} {{ form.password }} + {% if form.password.errors %} +
    + {% for error in form.email.errors %} +
  • + {{ error }} +
  • + {% endfor %} +
+ {% endif %} +
+ +
{{ form.confirmPassword.label }} {{ form.confirmPassword }} + {% if form.confirmPassword.errors %} +
    + {% for error in form.email.errors %} +
  • + {{ error }} +
  • + {% endfor %} +
+ {% endif %} +
+ +
{{ form.title.label }} {{ form.title }} + + {% if form.title.errors %} +
    + {% for error in form.email.errors %} +
  • + {{ error }} +
  • + {% endfor %} +
+ {% endif %} +
+ +
{{ form.website.label }} {{ form.website }} + {% if form.website.errors %} +
    + {% for error in form.email.errors %} +
  • + {{ error }} +
  • + {% endfor %} +
+ {% endif %} +
+ +
{{ form.birthday.label }} {{ form.birthday }} + {% if form.birthday.errors %} +
    + {% for error in form.email.errors %} +
  • + {{ error }} +
  • + {% endfor %} +
+ {% endif %} +
+ + {{ form.recaptcha }} + {{ form.submit }} + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/admin/version_models.py b/admin/version_models.py index 95f0039..912bdf4 100644 --- a/admin/version_models.py +++ b/admin/version_models.py @@ -12,3 +12,14 @@ class AlembicVersionDefault(Base): __tablename__ = "alembic_version" __bind_key__ = "default" version_num = Column(String(32), primary_key=True) + +tempapp = SQLAlchemy(app) +Base_tempapp = tempapp.Model +Columntempapp = tempapp.Column + + +class AlembicVersionTempapp(Base_tempapp): + __tablename__ = 'alembic_version' + __bind_key__ = 'tempapp' + version_num = Columntempapp(String(32), primary_key=True) + diff --git a/app/blueprints.py b/app/blueprints.py index d59c155..1376347 100644 --- a/app/blueprints.py +++ b/app/blueprints.py @@ -5,6 +5,7 @@ from admin.resources import mod_admin from admin.return_docs import docs from admin.asset_resources import assets +from admin.frontend_resources import mod_frontend app.register_blueprint(mod_admin, url_prefix="/admin") app.register_blueprint(info, url_prefix="/admin/info") @@ -12,3 +13,4 @@ app.register_blueprint(docs, url_prefix="/admin/docs") app.register_blueprint(assets, url_prefix="/admin/assets") +app.register_blueprint(mod_frontend) diff --git a/config.py b/config.py index aa95864..efb713a 100644 --- a/config.py +++ b/config.py @@ -22,6 +22,15 @@ CSRF_ENABLED = True CSRF_SESSION_KEY = "" +#TODO check this out +SECRET_KEY = "powerful secretkey" +WTF_CSRF_SECRET_KEY = "secret-key" + JWTSET = True # TODO: fix this -JWT_SECRET_KEY = " x4BlDzv02dKx" +JWT_SECRET_KEY = "x4BlDzv02dKx" + +RECAPTCHA_USE_SSL = False +RECAPTCHA_PUBLIC_KEY = 'public' +RECAPTCHA_PRIVATE_KEY = 'private' +RECAPTCHA_OPTIONS = {'theme': 'white'} \ No newline at end of file diff --git a/dbs.py b/dbs.py index 2b7710d..aee2701 100644 --- a/dbs.py +++ b/dbs.py @@ -1,8 +1,10 @@ DB_DICT = { "default": "sqlite:////tmp/default.db", + "tempapp": "postgresql+psycopg2://postgres:password@localhost:5432/tempapp", } ALEMBIC_LIST = [ "AlembicVersionDefault", + "AlembicVersionTempapp", ] diff --git a/doga-frontend/.eslintcache b/doga-frontend/.eslintcache deleted file mode 100644 index 2e6e01d..0000000 --- a/doga-frontend/.eslintcache +++ /dev/null @@ -1 +0,0 @@ -[{"/Users/nishantrana/Desktop/doga-frontend/src/index.js":"1","/Users/nishantrana/Desktop/doga-frontend/src/reportWebVitals.js":"2","/Users/nishantrana/Desktop/doga-frontend/src/App.js":"3","/Users/nishantrana/Desktop/doga-frontend/src/Api.js":"4","/Users/nishantrana/Desktop/doga-frontend/src/styles/theme.js":"5","/Users/nishantrana/Desktop/doga-frontend/src/styles/index.js":"6","/Users/nishantrana/Desktop/doga-frontend/src/components/Header/Header.js":"7","/Users/nishantrana/Desktop/doga-frontend/src/components/Footer/Footer.js":"8","/Users/nishantrana/Desktop/doga-frontend/src/containers/Signup/Signup.js":"9","/Users/nishantrana/Desktop/doga-frontend/src/containers/Login/Login.js":"10","/Users/nishantrana/Desktop/doga-frontend/src/components/Header/AdminProfile.js":"11","/Users/nishantrana/Desktop/doga-frontend/src/containers/Dashboard/Dashboard.js":"12","/Users/nishantrana/Desktop/doga-frontend/src/containers/CreateDatabase/CreateDatabase.js":"13","/Users/nishantrana/Desktop/doga-frontend/src/components/Sidebar/Sidebar.js":"14","/Users/nishantrana/Desktop/doga-frontend/src/containers/Mysql/Mysql.js":"15","/Users/nishantrana/Desktop/doga-frontend/src/containers/Database/Database.js":"16","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/Application.js":"17","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/ApplicationNext.js":"18","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/CreateTable.js":"19","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/Content.js":"20","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/CreateAppName.js":"21","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/ContentField.js":"22","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/AppTableCreation.js":"23","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/AppTableData.js":"24","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/EditDatabase.js":"25","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/BaseJwtLogin.js":"26","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/AwsDeploy.js":"27","/Users/nishantrana/Desktop/doga-frontend/src/containers/AppHome/AppHome.js":"28","/Users/nishantrana/Desktop/doga-frontend/src/containers/AppDocs/AppDocs.js":"29","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/AwsDeploy.js":"30","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/HerokuDeploy.js":"31","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/Deploy.js":"32","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/UserCredentials.js":"33","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/UserConfig.js":"34","/Users/nishantrana/Desktop/doga-frontend/src/containers/Plugins/Twilio.js":"35","/Users/nishantrana/Desktop/doga-frontend/src/containers/Plugins/Sendgrid.js":"36","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/RdsConfig.js":"37","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/Aws.js":"38","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/CreateTableName.js":"39","/Users/nishantrana/Desktop/doga/doga-frontend/src/index.js":"40","/Users/nishantrana/Desktop/doga/doga-frontend/src/reportWebVitals.js":"41","/Users/nishantrana/Desktop/doga/doga-frontend/src/App.js":"42","/Users/nishantrana/Desktop/doga/doga-frontend/src/styles/theme.js":"43","/Users/nishantrana/Desktop/doga/doga-frontend/src/Api.js":"44","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Sidebar/Sidebar.js":"45","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Header/Header.js":"46","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Login/Login.js":"47","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Dashboard/Dashboard.js":"48","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Signup/Signup.js":"49","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/CreateDatabase/CreateDatabase.js":"50","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Database/Database.js":"51","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/Application.js":"52","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/Content.js":"53","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/AppHome/AppHome.js":"54","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Plugins/Twilio.js":"55","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/Deploy.js":"56","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/HerokuDeploy.js":"57","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/AppDocs/AppDocs.js":"58","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Plugins/Sendgrid.js":"59","/Users/nishantrana/Desktop/doga/doga-frontend/src/styles/index.js":"60","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/Aws.js":"61","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/UserCredentials.js":"62","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/RdsConfig.js":"63","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/UserConfig.js":"64","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/AppTableCreation.js":"65","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/BaseJwtLogin.js":"66","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/ContentField.js":"67","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/CreateTableName.js":"68","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/CreateTable.js":"69","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/AppTableData.js":"70","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/CreateAppName.js":"71","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/ApplicationNext.js":"72","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/EditDatabase.js":"73","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/RichTextView.js":"74","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/ImageUploadSelect/ImageUploadSelect.js":"75","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/ImageView.js":"76","/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/AppHome/DoughnutChart.js":"77","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Sidebar/Tabs.js/Tabs.js":"78","/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Sidebar/Tabs.js/DropableTabs.js":"79"},{"size":611,"mtime":1611150632812,"results":"80","hashOfConfig":"81"},{"size":362,"mtime":1609233244036,"results":"82","hashOfConfig":"81"},{"size":7194,"mtime":1619371183699,"results":"83","hashOfConfig":"81"},{"size":3686,"mtime":1619097795616,"results":"84","hashOfConfig":"81"},{"size":1924,"mtime":1609668187889,"results":"85","hashOfConfig":"81"},{"size":10980,"mtime":1618928835094,"results":"86","hashOfConfig":"81"},{"size":16578,"mtime":1619100271474,"results":"87","hashOfConfig":"81"},{"size":497,"mtime":1609247766630,"results":"88","hashOfConfig":"81"},{"size":7879,"mtime":1615745015990,"results":"89","hashOfConfig":"81"},{"size":6681,"mtime":1617132222808,"results":"90","hashOfConfig":"81"},{"size":1172,"mtime":1609787472167,"results":"91","hashOfConfig":"81"},{"size":3509,"mtime":1618929174371,"results":"92","hashOfConfig":"81"},{"size":7725,"mtime":1617126381550,"results":"93","hashOfConfig":"81"},{"size":27916,"mtime":1618924668684,"results":"94","hashOfConfig":"81"},{"size":1360,"mtime":1610052974253,"results":"95","hashOfConfig":"81"},{"size":6048,"mtime":1618859557422,"results":"96","hashOfConfig":"81"},{"size":2443,"mtime":1618515991097,"results":"97","hashOfConfig":"81"},{"size":8672,"mtime":1610825916269,"results":"98","hashOfConfig":"81"},{"size":53004,"mtime":1619114684718,"results":"99","hashOfConfig":"81"},{"size":17959,"mtime":1618917182767,"results":"100","hashOfConfig":"81"},{"size":1861,"mtime":1616528029271,"results":"101","hashOfConfig":"81"},{"size":18471,"mtime":1611862443366,"results":"102","hashOfConfig":"81"},{"size":3670,"mtime":1617109501861,"results":"103","hashOfConfig":"81"},{"size":17714,"mtime":1619356390515,"results":"104","hashOfConfig":"81"},{"size":2172,"mtime":1611696639079,"results":"105","hashOfConfig":"81"},{"size":3922,"mtime":1613422130650,"results":"106","hashOfConfig":"81"},{"size":21988,"mtime":1613131825418,"results":"107","hashOfConfig":"81"},{"size":18898,"mtime":1618924195244,"results":"108","hashOfConfig":"81"},{"size":19900,"mtime":1619111214632,"results":"109","hashOfConfig":"81"},{"size":12003,"mtime":1617101819542,"results":"110","hashOfConfig":"81"},{"size":4960,"mtime":1616395316039,"results":"111","hashOfConfig":"81"},{"size":3961,"mtime":1619371240468,"results":"112","hashOfConfig":"81"},{"size":6144,"mtime":1617042301321,"results":"113","hashOfConfig":"81"},{"size":7295,"mtime":1617046478184,"results":"114","hashOfConfig":"81"},{"size":9070,"mtime":1616013316950,"results":"115","hashOfConfig":"81"},{"size":9706,"mtime":1616013310349,"results":"116","hashOfConfig":"81"},{"size":11587,"mtime":1617101821637,"results":"117","hashOfConfig":"81"},{"size":12657,"mtime":1619371283803,"results":"118","hashOfConfig":"81"},{"size":2037,"mtime":1617107244411,"results":"119","hashOfConfig":"81"},{"size":611,"mtime":1623644876929,"results":"120","hashOfConfig":"121"},{"size":362,"mtime":1623644876930,"results":"122","hashOfConfig":"121"},{"size":5867,"mtime":1623645260145,"results":"123","hashOfConfig":"121"},{"size":1950,"mtime":1623644876940,"results":"124","hashOfConfig":"121"},{"size":3662,"mtime":1623644876823,"results":"125","hashOfConfig":"121"},{"size":12175,"mtime":1623645304812,"results":"126","hashOfConfig":"121"},{"size":14156,"mtime":1623644876832,"results":"127","hashOfConfig":"121"},{"size":6055,"mtime":1623644876916,"results":"128","hashOfConfig":"121"},{"size":2425,"mtime":1623644876881,"results":"129","hashOfConfig":"121"},{"size":7145,"mtime":1623644876926,"results":"130","hashOfConfig":"121"},{"size":6154,"mtime":1623644876880,"results":"131","hashOfConfig":"121"},{"size":4381,"mtime":1623644876882,"results":"132","hashOfConfig":"121"},{"size":1879,"mtime":1623644876873,"results":"133","hashOfConfig":"121"},{"size":26527,"mtime":1623644876875,"results":"134","hashOfConfig":"121"},{"size":14060,"mtime":1623644876871,"results":"135","hashOfConfig":"121"},{"size":8386,"mtime":1623644876925,"results":"136","hashOfConfig":"121"},{"size":3358,"mtime":1623644876886,"results":"137","hashOfConfig":"121"},{"size":3596,"mtime":1623644876887,"results":"138","hashOfConfig":"121"},{"size":18042,"mtime":1623644876867,"results":"139","hashOfConfig":"121"},{"size":15546,"mtime":1623644876919,"results":"140","hashOfConfig":"121"},{"size":10172,"mtime":1623644876936,"results":"141","hashOfConfig":"121"},{"size":10946,"mtime":1623644876885,"results":"142","hashOfConfig":"121"},{"size":5076,"mtime":1623644876891,"results":"143","hashOfConfig":"121"},{"size":9096,"mtime":1623644876889,"results":"144","hashOfConfig":"121"},{"size":5041,"mtime":1623644876890,"results":"145","hashOfConfig":"121"},{"size":2452,"mtime":1623644876837,"results":"146","hashOfConfig":"121"},{"size":3151,"mtime":1623644876847,"results":"147","hashOfConfig":"121"},{"size":13503,"mtime":1623644876854,"results":"148","hashOfConfig":"121"},{"size":1824,"mtime":1623644876879,"results":"149","hashOfConfig":"121"},{"size":47142,"mtime":1623644876877,"results":"150","hashOfConfig":"121"},{"size":17478,"mtime":1623644876843,"results":"151","hashOfConfig":"121"},{"size":1648,"mtime":1623644876876,"results":"152","hashOfConfig":"121"},{"size":8123,"mtime":1622819503791,"results":"153","hashOfConfig":"121"},{"size":1147,"mtime":1622873095311,"results":"154","hashOfConfig":"121"},{"size":1083,"mtime":1623644876858,"results":"155","hashOfConfig":"121"},{"size":3805,"mtime":1623644876833,"results":"156","hashOfConfig":"121"},{"size":840,"mtime":1623644876857,"results":"157","hashOfConfig":"121"},{"size":1615,"mtime":1623644876872,"results":"158","hashOfConfig":"121"},{"size":1244,"mtime":1623644876863,"results":"159","hashOfConfig":"121"},{"size":1930,"mtime":1623644876862,"results":"160","hashOfConfig":"121"},{"filePath":"161","messages":"162","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"163"},"yqpc7j",{"filePath":"164","messages":"165","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"163"},{"filePath":"166","messages":"167","errorCount":0,"warningCount":12,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"168","messages":"169","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"163"},{"filePath":"170","messages":"171","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"163"},{"filePath":"172","messages":"173","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"174","usedDeprecatedRules":"163"},{"filePath":"175","messages":"176","errorCount":0,"warningCount":24,"fixableErrorCount":0,"fixableWarningCount":0,"source":"177","usedDeprecatedRules":"163"},{"filePath":"178","messages":"179","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"180","usedDeprecatedRules":"163"},{"filePath":"181","messages":"182","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"183","usedDeprecatedRules":"163"},{"filePath":"184","messages":"185","errorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":"186","usedDeprecatedRules":"163"},{"filePath":"187","messages":"188","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"189","usedDeprecatedRules":"163"},{"filePath":"190","messages":"191","errorCount":0,"warningCount":29,"fixableErrorCount":0,"fixableWarningCount":0,"source":"192","usedDeprecatedRules":"163"},{"filePath":"193","messages":"194","errorCount":0,"warningCount":23,"fixableErrorCount":0,"fixableWarningCount":0,"source":"195","usedDeprecatedRules":"163"},{"filePath":"196","messages":"197","errorCount":0,"warningCount":24,"fixableErrorCount":0,"fixableWarningCount":0,"source":"198","usedDeprecatedRules":"163"},{"filePath":"199","messages":"200","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"201","usedDeprecatedRules":"163"},{"filePath":"202","messages":"203","errorCount":0,"warningCount":30,"fixableErrorCount":0,"fixableWarningCount":0,"source":"204","usedDeprecatedRules":"163"},{"filePath":"205","messages":"206","errorCount":0,"warningCount":14,"fixableErrorCount":0,"fixableWarningCount":0,"source":"207","usedDeprecatedRules":"163"},{"filePath":"208","messages":"209","errorCount":0,"warningCount":27,"fixableErrorCount":0,"fixableWarningCount":0,"source":"210","usedDeprecatedRules":"163"},{"filePath":"211","messages":"212","errorCount":0,"warningCount":26,"fixableErrorCount":0,"fixableWarningCount":0,"source":"213","usedDeprecatedRules":"163"},{"filePath":"214","messages":"215","errorCount":0,"warningCount":19,"fixableErrorCount":0,"fixableWarningCount":0,"source":"216","usedDeprecatedRules":"163"},{"filePath":"217","messages":"218","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"219","usedDeprecatedRules":"163"},{"filePath":"220","messages":"221","errorCount":0,"warningCount":21,"fixableErrorCount":0,"fixableWarningCount":0,"source":"222","usedDeprecatedRules":"163"},{"filePath":"223","messages":"224","errorCount":0,"warningCount":26,"fixableErrorCount":0,"fixableWarningCount":0,"source":"225","usedDeprecatedRules":"163"},{"filePath":"226","messages":"227","errorCount":0,"warningCount":21,"fixableErrorCount":0,"fixableWarningCount":0,"source":"228","usedDeprecatedRules":"163"},{"filePath":"229","messages":"230","errorCount":0,"warningCount":29,"fixableErrorCount":0,"fixableWarningCount":0,"source":"231","usedDeprecatedRules":"163"},{"filePath":"232","messages":"233","errorCount":0,"warningCount":18,"fixableErrorCount":0,"fixableWarningCount":0,"source":"234","usedDeprecatedRules":"163"},{"filePath":"235","messages":"236","errorCount":0,"warningCount":15,"fixableErrorCount":0,"fixableWarningCount":0,"source":"237","usedDeprecatedRules":"163"},{"filePath":"238","messages":"239","errorCount":0,"warningCount":26,"fixableErrorCount":0,"fixableWarningCount":0,"source":"240","usedDeprecatedRules":"163"},{"filePath":"241","messages":"242","errorCount":0,"warningCount":44,"fixableErrorCount":0,"fixableWarningCount":0,"source":"243","usedDeprecatedRules":"163"},{"filePath":"244","messages":"245","errorCount":0,"warningCount":31,"fixableErrorCount":0,"fixableWarningCount":0,"source":"246","usedDeprecatedRules":"163"},{"filePath":"247","messages":"248","errorCount":0,"warningCount":25,"fixableErrorCount":0,"fixableWarningCount":0,"source":"249","usedDeprecatedRules":"163"},{"filePath":"250","messages":"251","errorCount":0,"warningCount":16,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"252","messages":"253","errorCount":0,"warningCount":25,"fixableErrorCount":0,"fixableWarningCount":0,"source":"254","usedDeprecatedRules":"163"},{"filePath":"255","messages":"256","errorCount":0,"warningCount":41,"fixableErrorCount":0,"fixableWarningCount":0,"source":"257","usedDeprecatedRules":"163"},{"filePath":"258","messages":"259","errorCount":0,"warningCount":27,"fixableErrorCount":0,"fixableWarningCount":0,"source":"260","usedDeprecatedRules":"163"},{"filePath":"261","messages":"262","errorCount":0,"warningCount":27,"fixableErrorCount":0,"fixableWarningCount":0,"source":"263","usedDeprecatedRules":"163"},{"filePath":"264","messages":"265","errorCount":0,"warningCount":45,"fixableErrorCount":0,"fixableWarningCount":0,"source":"266","usedDeprecatedRules":"163"},{"filePath":"267","messages":"268","errorCount":0,"warningCount":32,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"269","messages":"270","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"271","usedDeprecatedRules":"163"},{"filePath":"272","messages":"273","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"vi2dgi",{"filePath":"274","messages":"275","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"276","messages":"277","errorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"278","messages":"279","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"280","messages":"281","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"282","messages":"283","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"284","messages":"285","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"286","messages":"287","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"288","messages":"289","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"290","messages":"291","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"292","messages":"293","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"294","messages":"295","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"296","messages":"297","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"298","messages":"299","errorCount":0,"warningCount":11,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"300","messages":"301","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"302","messages":"303","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"304","messages":"305","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"306","messages":"307","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"308","messages":"309","errorCount":0,"warningCount":14,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"310","messages":"311","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"312","messages":"313","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"314","messages":"315","errorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"316","messages":"317","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"318","messages":"319","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"320","messages":"321","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"322","messages":"323","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"324","messages":"325","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"326","messages":"327","errorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"328","messages":"329","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"330","messages":"331","errorCount":0,"warningCount":14,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"332","messages":"333","errorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"334","messages":"335","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"336","messages":"337","errorCount":0,"warningCount":27,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"338","messages":"339","errorCount":0,"warningCount":29,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"340","messages":"341","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"342","messages":"343","errorCount":0,"warningCount":20,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"344","messages":"345","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"346","messages":"347","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"348","messages":"349","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"350","messages":"351","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/nishantrana/Desktop/doga-frontend/src/index.js",[],["352","353"],"/Users/nishantrana/Desktop/doga-frontend/src/reportWebVitals.js",[],"/Users/nishantrana/Desktop/doga-frontend/src/App.js",["354","355","356","357","358","359","360","361","362","363","364","365"],"/Users/nishantrana/Desktop/doga-frontend/src/Api.js",[],"/Users/nishantrana/Desktop/doga-frontend/src/styles/theme.js",[],"/Users/nishantrana/Desktop/doga-frontend/src/styles/index.js",["366","367","368"],"import styled from \"@emotion/styled\";\nimport { height, variant } from \"styled-system\";\nimport { motion } from \"framer-motion\";\nimport theme from \"./theme\";\n// import ScaleLoader from \"react-spinners/ScaleLoader\";\n\nimport {\n space,\n layout,\n color,\n flexbox,\n border,\n typography,\n background,\n grid,\n shadow,\n position,\n backgroundImage,\n} from \"styled-system\";\n\nexport const Box = styled.div(\n variant({\n prop: \"type\",\n variants: {\n row: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n },\n column: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n center: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n relative: {\n boxSizing: \"border-box\",\n clear: \"both\",\n fontSize: \"1rem\",\n position: \"relative\",\n textAlign: \"inherit\",\n },\n tableView: {\n marginTop: \"1.25rem\",\n padding: \"0.75rem\",\n borderWidth: \"1px\",\n borderRadius: \"12px\",\n /* z-index: 1; */\n background: \"white\",\n margin: \"10px\",\n /* width: 98%; */\n border: \"2px solid rgb(226, 232, 240)\",\n },\n loader: {\n position: \"fixed\",\n zIndex: \"999\",\n overflow: \"show\",\n margin: \"auto\",\n top: \"0\",\n left: \"200px\",\n bottom: \"0\",\n right: \"0\",\n width: \"60px\",\n height: \"60px\",\n color: \" #ffffff\",\n boxShadow: \"#382e6c 0px 2px 4px 1px\",\n background: \"#8071b3\",\n borderRadius: \"50%\",\n padding: \"3px\",\n },\n loaderText: {\n position: \"fixed\",\n zIndex: \"999\",\n overflow: \"show\",\n margin: \"auto\",\n top: \"150px\",\n left: \"200px\",\n bottom: \"0\",\n right: \"0\",\n width: \"100px\",\n height: \"50px\",\n\n padding: \"13px\",\n },\n loaderCentered: {\n position: \"fixed\",\n zIndex: \"999\",\n overflow: \"show\",\n margin: \"auto\",\n left: \"0\",\n top: \"0\",\n bottom: \"0\",\n right: \"0\",\n width: \"60px\",\n height: \"60px\",\n color: \" #ffffff\",\n boxShadow: \"#382e6c 0px 2px 4px 1px\",\n background: \"#8071b3\",\n borderRadius: \"50%\",\n padding: \"3px\",\n },\n heading: {\n width: \"100%\",\n marginLeft: \"0\",\n marginRight: \"0\",\n padding: \"12px 20px 10px\",\n minHeight: \"63px\",\n marginTop: \"2px\",\n borderBottom: \"2px solid #8071b399\",\n backgroundColor: \"#f7f8fb\",\n padding: \"20px\",\n },\n },\n }),\n space,\n color,\n grid,\n layout,\n flexbox,\n border,\n typography,\n shadow,\n position,\n background\n);\nexport const MotionBox = styled(motion.div)(\n variant({\n prop: \"type\",\n variants: {\n row: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n },\n column: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n center: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n rowSidebar: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n \"&:hover\": {\n color: \"purple\",\n },\n },\n },\n }),\n space,\n color,\n grid,\n layout,\n flexbox,\n border,\n typography,\n shadow,\n position,\n background\n);\n\nexport const Button = styled(\"button\")(\n {\n appearance: \"none\",\n fontFamily: theme.fonts.DM,\n fontWeight: theme.fontWeights.semiBold,\n fontSize: \"15px\",\n\n cursor: \"pointer\",\n width: \"fit-content\",\n\n outline: \"none\",\n border: \"none\",\n // boxShadow: \"0 20px 20px -15px rgba(127, 0, 255, .8)\",\n\n userSelect: \"none\",\n padding: \"0.75em 1.75em\",\n borderRadius: \"5px\",\n display: \"inline-block\",\n color: \"#ffffff\",\n // backgroundImage: \"linear-gradient(to right, #7f00ff, #8b008bd4)\",\n boxShadow: \"#382e6c 0px 2px 4px 1px\",\n background: \"#8071b3\",\n \"&:hover\": {\n opacity: \".8\",\n },\n },\n variant({\n prop: \"type\",\n variants: {\n primary: {\n width: \"110px\",\n },\n secondary: {\n // border: \"1px solid #492897\",\n // borderRadius: \"4px 0 4px 0\",\n // color: \"#492897\",\n // fontSize: \"19px\",\n // backgroundImage: \"none\",\n // bg: \"orange\",\n // boxShadow: \"0px 4px 14px rgba(237, 107, 101, 0.9)\",\n },\n tableAdd: {\n // border: \"1px solid #492897\",\n borderRadius: \"4px 0 4px 0\",\n color: \"purple\",\n backgroundColor: \"rgb(241 218 249)\",\n width: \"-webkit-fill-available\",\n\n backgroundImage: \"none\",\n\n // bg: \"orange\",\n // boxShadow: \"0px 4px 14px rgba(237, 107, 101, 0.9)\",\n },\n toggleTable: {\n color: \"purple\",\n backgroundColor: \"rgb(255 255 255)\",\n borderRadius: \"0px\",\n backgroundImage: \"none\",\n \"&:hover\": {\n opacity: \"1\",\n },\n },\n },\n }),\n space,\n color,\n typography,\n layout,\n flexbox,\n border\n);\nexport const Tab = styled(\"button\")(\n {\n appearance: \"none\",\n fontFamily: theme.fonts.DM,\n fontWeight: theme.fontWeights.normal,\n fontSize: \"16px\",\n padding: \"8px 13px\",\n color: \"#191919\",\n backgroundColor: \"#f2f2f2\",\n cursor: \"pointer\",\n borderRadius: \"15px\",\n width: \"100%\",\n borderColor: \"#e8e8e8\",\n },\n variant({\n prop: \"type\",\n variants: {\n active: {\n color: \"white\",\n bg: \"orange\",\n boxShadow: \"0px 4px 14px rgba(237, 107, 101, 0.9)\",\n },\n },\n }),\n space,\n color,\n typography,\n layout,\n flexbox,\n border\n);\n\nexport const Para = styled.p(\n {\n fontSize: \"0.91rem\",\n color: theme.colors.grey,\n lineHeight: \"24px\",\n },\n variant({\n prop: \"type\",\n variants: {\n info: {\n fontSize: \"0.70rem\",\n color: theme.colors.grey,\n lineHeight: \"inherit\",\n },\n },\n }),\n space,\n color,\n typography,\n position,\n border,\n layout\n);\n\nexport const Span = styled.span(\n {\n fontSize: \"theme.fontSizes[4]\",\n color: theme.colors.grey,\n lineHeight: \"24px\",\n },\n space,\n color,\n typography,\n layout,\n variant({\n prop: \"type\",\n variants: {\n icon: {\n left: \"12px\",\n\n color: \"#dbdbdb\",\n\n pointerEvents: \"none\",\n position: \"absolute\",\n top: \"8px\",\n width: \"2.5em\",\n zIndex: \"4\",\n },\n heading: {\n color: \"#5d6c84\",\n fontSize: \"1.2rem\",\n },\n },\n })\n);\nexport const Tag = styled.span(\n {\n fontSize: theme.fontSizes[4],\n\n borderRadius: \"4px 0 4px 0\",\n },\n space,\n color,\n typography,\n layout\n);\nexport const Tags = styled.div(\n {\n fontSize: theme.fontSizes[4],\n borderRadius: \"4px 0 4px 0\",\n fontSize: \"xx-large\",\n border: \"none\",\n },\n space,\n color,\n typography,\n layout,\n height,\n border\n);\n\nexport const H1 = styled.h1(\n {\n fontSize: theme.fontSizes[10],\n color: theme.colors.purple,\n fontFamily: theme.fonts.DM,\n fontWeight: theme.fontWeights.light,\n lineHeight: \"64px\",\n },\n\n space,\n color,\n typography,\n position,\n border,\n layout,\n variant({\n prop: \"type\",\n variants: {\n fullBorder: {\n paddingBottom: 12,\n borderBottom: \"4px solid\",\n borderColor: \"rgb(127, 0, 255)\",\n },\n centerBorder: {\n paddingBottom: 12,\n borderBottom: \"4px solid\",\n borderColor: \"rgb(127, 0, 255)\",\n width: \"fit-content\",\n textAlign: \"center\",\n },\n },\n })\n);\nexport const H2 = styled.h2(\n {\n fontSize: \"2rem\",\n color: \"#8071b3\",\n // fontFamily: theme.fonts.DM,\n fontWeight: \"500\",\n lineHeight: \"18px\",\n marginBottom: \"0.5rem\",\n },\n space,\n color,\n typography,\n position,\n border,\n layout,\n variant({\n prop: \"type\",\n variants: {\n fullBorder: {\n paddingBottom: 12,\n borderBottom: \"4px solid\",\n borderColor: \"#4B0082\",\n },\n centerBorder: {\n paddingBottom: 12,\n borderBottom: \"4px solid\",\n borderColor: \"#4B0082\",\n width: \"fit-content\",\n textAlign: \"center\",\n },\n },\n })\n);\nexport const H3 = styled.h3(\n {\n fontSize: theme.fontSizes[8],\n color: theme.colors.purple,\n fontFamily: theme.fonts.DM,\n fontWeight: theme.fontWeights.normal,\n lineHeight: \"36px\",\n },\n space,\n color,\n typography,\n position,\n border,\n layout,\n variant({\n prop: \"type\",\n variants: {\n fullBorder: {\n paddingBottom: 12,\n borderBottom: \"4px solid\",\n borderColor: \"orange\",\n },\n centerBorder: {\n paddingBottom: 12,\n borderBottom: \"4px solid\",\n borderColor: \"orange\",\n width: \"fit-content\",\n textAlign: \"center\",\n },\n },\n })\n);\nexport const H5 = styled.h5(\n {\n fontSize: theme.fontSizes[6],\n color: theme.colors.purple,\n fontFamily: theme.fonts.DM,\n fontWeight: theme.fontWeights.normal,\n lineHeight: \"26px\",\n },\n space,\n color,\n typography,\n position,\n border,\n layout\n);\n\nexport const StyledLink = styled(\"a\")(\n {\n fontSize: theme.fontSizes[5],\n color: theme.colors.grey,\n lineHeight: \"24px\",\n cursor: \"pointer\",\n },\n space,\n color,\n typography,\n position,\n border,\n layout\n);\n\nexport const Image = styled.img`\n ${space}\n ${color}\n ${typography}\n ${position}\n ${border}\n ${shadow}\n`;\nexport const ResponsiveImage = styled.img`\n ${space}\n ${color}\n ${typography}\n ${position}\n ${border}\n ${shadow}\n ${layout}\n`;\n\nexport const Input = styled(\"input\")(\n {\n border: \"1px solid #d3d3d3\",\n borderRadius: 5,\n },\n space,\n color,\n typography,\n layout,\n position,\n border,\n shadow,\n variant({\n prop: \"inputType\",\n variants: {\n auth: {\n paddingLeft: 42,\n },\n },\n })\n);\nexport const Label = styled(\"label\")(\n {\n display: \"inline-block\",\n fontSize: \"1rem\",\n fontWeight: \"700\",\n fontFamily: theme.fonts.DM,\n marginBottom: \"6px\",\n padding: \"0\",\n color: \"#5d6c84\",\n },\n space,\n color,\n typography,\n layout,\n position,\n border,\n shadow,\n variant({\n prop: \"type\",\n variants: {\n auth: {\n paddingLeft: 42,\n },\n },\n })\n);\nexport const TextArea = styled(\"textArea\")(\n {\n border: \"1px solid #d3d3d3\",\n },\n space,\n color,\n typography,\n layout,\n position,\n border,\n shadow\n);\n\n// export function LButton({ label, type, loading, ...props }) {\n// return (\n// \n// );\n// }\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Header/Header.js",["369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392"],"import React, { useEffect } from \"react\";\nimport { useGlobal } from \"reactn\";\nimport {\n NavLink,\n Link,\n useLocation,\n useParams,\n useRouteMatch,\n} from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n H1,\n H2,\n Para,\n MotionBox,\n H5,\n} from \"../../styles\";\nimport { useDisclosure } from \"@chakra-ui/react\";\nimport { FaUserAlt, FaBell } from \"react-icons/fa\";\nimport { AiFillHome, AiFillCaretDown } from \"react-icons/ai\";\nimport { Tooltip } from \"@chakra-ui/react\";\nimport Trigger from \"rc-trigger\";\nimport { Icon, ChevronDownIcon } from \"@chakra-ui/react\";\nimport AdminProfile from \"./AdminProfile\";\nimport Sidebar from \"../Sidebar/Sidebar\";\nimport {\n Menu,\n MenuButton,\n MenuList,\n MenuItem,\n MenuItemOption,\n MenuGroup,\n MenuOptionGroup,\n MenuIcon,\n MenuCommand,\n MenuDivider,\n} from \"@chakra-ui/react\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbSeparator,\n} from \"@chakra-ui/react\";\n\nconst Header = () => {\n const location = useLocation();\n let match = useRouteMatch();\n console.log(match);\n\n const [token, setToken] = useGlobal(\"token\");\n const { isOpen, onOpen, onClose } = useDisclosure();\n const queryClient = useQueryClient();\n const toast = createStandaloneToast();\n\n const { data, loading } = useQuery(APIURLS.getNotifications, {\n enabled: !!token,\n });\n async function notificationRefreshHandler() {\n try {\n await queryClient.refetchQueries(APIURLS.getNotifications());\n console.log(data);\n } catch ({ response }) {}\n }\n\n // console.log(refreshNotifications);\n async function handleLogout() {\n localStorage.removeItem(\"token\");\n localStorage.removeItem(\"userId\");\n localStorage.removeItem(\"userEmail\");\n localStorage.removeItem(\"userName\");\n setToken(null);\n console.log(\"tokie\");\n }\n\n async function markAllHandler() {\n try {\n let { data } = await Api.post(APIURLS.markAllNotifications);\n await queryClient.refetchQueries(APIURLS.getNotifications());\n console.log(data);\n } catch ({ response }) {}\n }\n async function markIndividualHandler(id) {\n console.log(id);\n try {\n let { data } = await Api.post(APIURLS.markIndividualNotifications(), {\n id: id,\n });\n await queryClient.refetchQueries(APIURLS.getNotifications());\n toast({\n title: \"Notification Marked Read.\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n console.log();\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n }\n }\n\n return (\n <>\n {/* */}\n \n {location.pathname === \"/dashboard\" ? (\n \n \n \n \n {\" \"}\n \n \n \n \n \n ) : location.pathname === \"/database\" ? (\n \n \n \n {\" \"}\n \n \n \n \n \n Database\n \n \n \n ) : location.pathname === \"/deploy/aws\" ? (\n \n \n \n {\" \"}\n \n \n \n \n \n AWS\n \n \n \n ) : location.pathname === \"/deploy/heroku\" ? (\n \n \n \n {\" \"}\n \n \n \n \n \n Heroku\n \n \n \n ) : location.pathname === \"/plugin/sendgrid\" ? (\n \n \n \n {\" \"}\n \n \n \n \n \n Sendgrid\n \n \n \n ) : location.pathname === \"/plugin/Twilio\" ? (\n \n \n \n {\" \"}\n \n \n \n \n \n Twilio\n \n \n \n ) : (\n \n \n \n {\" \"}\n \n \n \n \n )}\n \n {!token ? (\n <>\n {\" \"}\n \n \n \n \n \n {\" \"}\n \n ) : (\n // \n <>\n \n \n \n \n \n {\" \"}\n \n \n {\" \"}\n notificationRefreshHandler()}\n />\n \n \n \n \n \n\n \n \n \n Notifications\n \n \n\n {data?.length ? (\n data?.reverse()?.map((key) => (\n \n key.mark_read\n ? markIndividualHandler(key.id)\n : null\n }\n >\n {/*
{\"heading\"}
*/}\n
\n {key.message}\n
\n \n {key.received_at}\n \n \n ))\n ) : (\n \n
\n {\"No Notifications\"}.\n
\n \n )}\n {data?.length ? (\n \n ) : null}\n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n Profile}>\n \n My Account\n \n \n Log out\n \n \n \n Help}>\n \n Docs\n \n \n FAQ\n \n \n \n \n \n \n )}\n \n \n \n );\n};\n\nfunction UserMenu() {\n // const router = useRouter();\n const [token, setToken] = useGlobal(\"token\");\n // const queryCache = useQueryCache();\n\n // const userProfile = useQuery(APIURLS.getUserDetails, {\n // enabled: !!token,\n // });\n\n // let user = userProfile?.data?.data?.user || {};\n\n async function handleLogout() {\n try {\n localStorage.clear();\n setToken(null);\n } catch (error) {}\n }\n\n // useEffect(() => {\n // let userId = localStorage.getItem(\"userId\");\n // if (userId) {\n // connectToPusher(userId);\n // }\n // }, []);\n\n return (\n \n \n \n }\n popupAlign={{\n points: [\"tl\", \"tl\"],\n // offset: [10, 3],\n }}\n alignPoint\n >\n \n \n \n \n );\n}\n\nexport default Header;\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Footer/Footer.js",["393","394","395","396","397","398","399"],"import React, { useEffect } from \"react\";\nimport { useGlobal } from \"reactn\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n} from \"../../styles\";\n\nexport default function Footer() {\n const [token] = useGlobal(\"token\");\n\n return (\n \n Hello\n Yo\n \n );\n}\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Signup/Signup.js",["400","401","402","403","404","405","406","407"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n} from \"../../styles\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { FaUserAlt } from \"react-icons/fa\";\nimport { MdEmail } from \"react-icons/md\";\nimport { RiLockPasswordFill } from \"react-icons/ri\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nconst Signup = () => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [loading, setLoading] = useState(false);\n const [success, setSuccess] = useState(false);\n const [apiErr, setApiErr] = useState(null);\n\n async function handleSignup(params) {\n try {\n // setApiErr(null);\n setLoading(true);\n let { data } = await Api.post(APIURLS.signup, {\n ...params,\n });\n\n // let token = data?.data.user?.accessToken;\n // let userId = data?.data.user?.id;\n // localStorage.setItem(\"token\", token);\n // localStorage.setItem(\"userId\", userId);\n // setHeader(token);\n // setToken(token);\n // router.push(\"/onboarding\");\n setLoading(false);\n setSuccess(true);\n\n console.log(\"data\", data);\n } catch ({ response }) {\n console.log(response);\n // setApiErr(response?.data?.message);\n setLoading(false);\n }\n console.log(params);\n }\n\n return (\n <>\n \n \n \n {/* */}\n {success ? (\n \n

Account created successfully.

\n \n {\" \"}\n \n \n \n ) : (\n <>\n \n

Create Account

\n \n \n
\n \n \n \n \n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n \n \n \n \n \n\n {errors?.email && (\n \n {errors?.email?.message}\n \n )}\n \n \n \n \n\n \n \n \n \n \n\n {errors?.password && (\n \n {errors?.password?.message}\n \n )}\n \n\n {apiErr && (\n \n {apiErr}\n \n )}\n\n \n
\n
\n \n \n {\"Already have an account? \"}\n \n {\" \"}\n \n {\" \"}\n Log In\n {\" \"}\n \n \n \n \n )}\n \n \n \n \n );\n};\n\nexport default Signup;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Login/Login.js",["408","409","410","411","412","413","414","415","416"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport { Redirect } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n} from \"../../styles\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { FaUserAlt } from \"react-icons/fa\";\nimport { MdEmail } from \"react-icons/md\";\nimport { RiLockPasswordFill } from \"react-icons/ri\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport { useQuery, useQueryClient } from \"react-query\";\n\nconst Login = () => {\n // const router = useRouter();\n const [token, setToken] = useGlobal(\"token\");\n // const [, setForgotPassword] = useGlobal(\"forgotPassword\");\n // const [oldVersionModal, setOldVersionModal] = useState(false);\n const [loading, setLoading] = useState(false);\n const [apiErr, setApiErr] = useState(null);\n // const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const toast = createStandaloneToast();\n let authRedirect = null;\n if (token) {\n authRedirect = ;\n }\n\n // useEffect(() => {\n // // router.prefetch(\"/dashboard\");\n // }, []);\n\n async function handleSignup(params) {\n try {\n setApiErr(null);\n setLoading(true);\n let { data } = await Api.post(APIURLS.login, params);\n // let version = data?.data.version;\n\n let token = data?.access_token;\n let userId = data?.id;\n let userEmail = data?.email;\n let userName = data?.name;\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"userId\", userId);\n localStorage.setItem(\"userEmail\", userEmail);\n localStorage.setItem(\"userName\", userName);\n setHeader(token);\n setToken(token);\n toast({\n title: \"Login Successful\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n setLoading(false);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n setApiErr(response?.result);\n setLoading(false);\n }\n }\n\n return (\n <>\n {authRedirect}\n \n \n \n \n

Login

\n \n\n \n
\n \n \n \n \n \n \n \n \n\n {errors?.email && (\n \n {errors?.email?.message}\n \n )}\n \n \n \n \n\n \n \n \n \n \n\n {errors?.password && (\n \n {errors?.password?.message}\n \n )}\n \n\n {apiErr && (\n \n {apiErr}\n \n )}\n\n \n
\n
\n \n \n {\"New to Doga? \"}\n \n {\" \"}\n \n {\" \"}\n Sign Up\n {\" \"}\n \n \n \n \n \n \n \n );\n};\n\nexport default Login;\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Header/AdminProfile.js",["417"],"import { MotionBox, Box, Button, Span, StyledLink } from \"../../styles\";\n// import Link from \"next/link\";\n\nconst AdminProfile = (user, handleLogout) => {\n return (\n \n \n {\"Nishant\"}\n \n {/* {user?.email} */}\n \n {/* \n Dashboard\n */}\n\n {/* \n Account\n */}\n {/* {!isAdmin && (\n \n \n Help\n \n \n )} */}\n\n \n \n );\n};\n\nexport default AdminProfile;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Dashboard/Dashboard.js",["418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n H5,\n Para,\n} from \"../../styles\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { FaUserAlt, FaDatabase } from \"react-icons/fa\";\nimport { FcAcceptDatabase } from \"react-icons/fc\";\nimport { IoAppsSharp } from \"react-icons/io5\";\nimport { SiAmazonaws } from \"react-icons/si\";\nimport { useDisclosure } from \"@chakra-ui/react\";\nimport CreateDatabase from \"../CreateDatabase/CreateDatabase\";\nimport Application from \"../Application/Application\";\nimport AwsDeploy from \"../../components/Modal/AwsDeploy\";\nimport { useIsFetching } from \"react-query\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nconst Dashboard = () => {\n const queryClient = useQueryClient();\n\n // const appsCreated = useQuery(APIURLS.dashboardInfo(app, all));\n const appsCreated = useQuery(APIURLS.appInfo(\"app\"));\n\n const dbConnections = useQuery(APIURLS.getDbConnections);\n const { isOpen, onOpen, onClose } = useDisclosure();\n\n const [openModal, setOpenModal] = useState();\n const openModalHandler = (key) => {\n setOpenModal(key);\n onOpen();\n };\n const isFetching = useIsFetching();\n const isFetchingApps = useIsFetching([APIURLS.getContentType]);\n console.log(\"CONTETN\", isFetchingApps);\n return appsCreated?.isLoading ||\n dbConnections?.isLoading ||\n isFetchingApps > 0 ? (\n <>\n {\" \"}\n \n \n {\" \"}\n \n ) : (\n <>\n \n \n

\n {\" \"}\n Hi {localStorage.getItem(\"userName\")}!\n

\n \n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim\n ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut\n aliquip ex ea commodo consequat. Duis aute irure dolor in\n reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\n pariatur. Excepteur sint occaecat cupidatat non proident, sunt in\n culpa qui officia deserunt mollit anim id est laborum.\n \n \n \n {\" \"}\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n );\n};\n\nexport default Dashboard;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/CreateDatabase/CreateDatabase.js",["447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n} from \"../../styles\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\nimport Select from \"react-select\";\nimport { useQueryClient, useQuery } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nconst CreateDatabase = ({ edit, setStep, appName }) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [loading, setLoading] = useState(false);\n const [success, setSuccess] = useState(false);\n const [apiErr, setApiErr] = useState(null);\n const queryClient = useQueryClient();\n const toast = createStandaloneToast();\n const [dbType, setDbType] = useState();\n\n const { data, isLoading } = useQuery(APIURLS.getDbDefaults);\n console.log(data);\n async function handleSignup(params) {\n setLoading(true);\n try {\n let { data } = edit\n ? await Api.put(APIURLS.createDB, {\n ...params,\n database_type: dbType,\n })\n : await Api.post(APIURLS.createDB, {\n ...params,\n database_type: dbType,\n });\n await queryClient.refetchQueries([APIURLS.getDbConnections]);\n console.log(params.database_name);\n // setSuccess(true);\n\n toast({\n title: \"Database created successfully.\",\n // description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n // onClose();\n setLoading(false);\n setStep(3);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n // description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n console.log(response);\n // setApiErr(response?.data?.message);\n setLoading(false);\n }\n\n console.log(params);\n }\n\n return loading ? (\n \n \n \n ) : (\n <>\n \n Congif Databse for your App \n {/* */}\n \n \n
\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n {/* \n \n \n\n {errors?.email && (\n \n {errors?.email?.message}\n \n )}\n */}\n \n \n setDbType(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"database_type\"\n options={[\n {\n value: \"mysql\",\n label: \"mysql\",\n },\n {\n value: \"sqlite\",\n label: \"sqlite\",\n },\n {\n value: \"postgres\",\n label: \"postgres\",\n },\n ]}\n />\n \n \n \n \n\n {errors?.password && (\n \n {errors?.password?.message}\n \n )}\n \n \n \n \n\n {errors?.password && (\n \n {errors?.password?.message}\n \n )}\n \n \n \n \n\n {errors?.password && (\n \n {errors?.password?.message}\n \n )}\n \n \n \n \n\n {errors?.password && (\n \n {errors?.password?.message}\n \n )}\n \n\n {apiErr && (\n \n {apiErr}\n \n )}\n {/* */}\n \n \n
\n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default CreateDatabase;\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Sidebar/Sidebar.js",["470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493"],"import React, { useEffect } from \"react\";\nimport { useGlobal } from \"reactn\";\n\nimport { Icon } from \"@chakra-ui/react\";\nimport { FaUserAlt, FaServer, FaDatabase } from \"react-icons/fa\";\nimport { IoAppsSharp } from \"react-icons/io5\";\nimport { AiFillHome, AiFillCaretDown } from \"react-icons/ai\";\nimport { GrMysql } from \"react-icons/gr\";\nimport { SiPostgresql } from \"react-icons/si\";\nimport { NavLink } from \"react-router-dom\";\nimport { Wrap, WrapItem } from \"@chakra-ui/react\";\nimport { Avatar, AvatarBadge } from \"@chakra-ui/react\";\nimport { SiAmazonaws, SiHeroku } from \"react-icons/si\";\nimport { useLocation } from \"react-router-dom\";\nimport { BsAppIndicator, BsTable } from \"react-icons/bs\";\nimport { MdEmail, MdTextsms } from \"react-icons/md\";\nimport { AiOutlineCaretDown, AiOutlineCaretUp } from \"react-icons/ai\";\nimport { SiMinutemailer } from \"react-icons/si\";\nimport { IoRocketSharp } from \"react-icons/io5\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n H1,\n H2,\n H5,\n MotionBox,\n Para,\n} from \"../../styles\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { margin, marginTop } from \"styled-system\";\nimport Api, { APIURLS } from \"../../Api\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nfunction PlacementExample(props) {\n const [token] = useGlobal(\"token\");\n\n const [dropMenu, setDropMenu] = React.useState([]);\n const [deployMenu, setDeployMenu] = React.useState(false);\n const [pluginsMenu, setPluginsMenu] = React.useState(false);\n const [showDbOptions, setShowDbOptions] = React.useState(false);\n const location = useLocation();\n const { data, isLoading } = useQuery([APIURLS.getContentType], {\n enabled: !!token,\n });\n console.log(data);\n const showDbOptionsHandler = () => {\n setShowDbOptions(!showDbOptions);\n };\n const dropMenuHandler = (appName) => {\n let newDropMenuArray = [...dropMenu];\n newDropMenuArray.push(appName);\n setDropMenu(newDropMenuArray);\n };\n const RemovedropMenuHandler = (appName) => {\n const newDropMenuArray = dropMenu.filter((index) => index != appName);\n setDropMenu(newDropMenuArray);\n };\n console.log(dropMenu, \"drop\");\n let contentTypeApps = null;\n if (data) {\n const formElementsArray = [];\n if (data?.result === \"No apps and content created yet.\") {\n } else {\n for (let key in data) {\n formElementsArray.push({\n app_name: key,\n tables: data[key],\n });\n }\n }\n\n // console.log(formElementsArray);\n console.log(\"appssss\");\n contentTypeApps = Object.entries(formElementsArray).map(\n ([index, value]) => {\n // console.log(prop, val);\n return (\n <>\n \n \n \n \n dropMenuHandler(index)}\n />\n \n\n \n {value.app_name}\n \n \n \n \n \n {dropMenu.includes(index) ? (\n RemovedropMenuHandler(index)}\n />\n ) : (\n dropMenuHandler(index)}\n />\n )}\n \n \n \n {Object.entries(value.tables).map(([prop, val]) => {\n if (prop === \"jwt_info\") return true;\n return dropMenu.includes(index) ? (\n \n \n \n \n \n \n\n \n {prop}\n \n \n \n \n ) : null;\n })}\n \n );\n }\n );\n }\n\n return (\n <>\n {isLoading ? (\n \n \n \n ) : null}\n \n \n \n \n \n \n \n {localStorage.getItem(\"userName\")}\n \n \n {localStorage.getItem(\"userEmail\")}\n \n \n \n \n \n Menu\n \n \n \n {\" \"}\n \n \n \n \n\n \n Dashboard\n \n \n \n \n \n \n \n \n\n \n Database\n \n \n \n\n setDeployMenu(!deployMenu)}\n >\n \n \n \n \n\n \n Deploy\n \n \n\n \n \n {deployMenu ? (\n setDeployMenu(!deployMenu)}\n />\n ) : (\n setDeployMenu(!deployMenu)}\n />\n )}\n \n \n \n {deployMenu ? (\n \n \n \n \n \n \n\n \n {\"AWS\"}\n \n \n \n \n \n \n \n \n\n \n {\"Heroku\"}\n \n \n \n \n ) : null}\n\n setPluginsMenu(!pluginsMenu)}\n >\n \n \n \n \n\n \n Plugins\n \n \n\n \n \n {pluginsMenu ? (\n setPluginsMenu(!pluginsMenu)}\n />\n ) : (\n setPluginsMenu(!pluginsMenu)}\n />\n )}\n \n \n \n {pluginsMenu ? (\n \n \n \n \n \n \n\n \n {\"Sendgrid\"}\n \n \n \n \n \n \n \n \n\n \n {\"Twilio\"}\n \n \n \n \n ) : null}\n\n \n \n Applications\n \n \n\n {contentTypeApps}\n \n \n );\n}\n\nexport default PlacementExample;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Mysql/Mysql.js",["494","495","496","497","498","499","500","501"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Table,\n Thead,\n Tbody,\n Tr,\n Th,\n Td,\n TableCaption,\n} from \"@chakra-ui/react\";\nimport { useQuery } from \"react-query\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nconst Mysql = () => {\n const dbConnections = useQuery(APIURLS.getDbConnections);\n console.log(dbConnections);\n return (\n <>\n \n \n \n To convert\n into\n multiply by\n \n \n \n \n inches\n millimetres (mm)\n 25.4\n \n \n feet\n centimetres (cm)\n 30.48\n \n \n yards\n metres (m)\n 0.91444\n \n \n \n \n );\n};\n\nexport default Mysql;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Database/Database.js",["502","503","504","505","506","507","508","509","510","511","512","513","514","515","516","517","518","519","520","521","522","523","524","525","526","527","528","529","530","531"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Table,\n Thead,\n Tbody,\n Tr,\n Th,\n Td,\n TableCaption,\n} from \"@chakra-ui/react\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n H1,\n H2,\n H5,\n MotionBox,\n Para,\n} from \"../../styles\";\nimport {\n Menu,\n MenuButton,\n MenuList,\n MenuItem,\n MenuItemOption,\n MenuGroup,\n MenuOptionGroup,\n MenuIcon,\n MenuCommand,\n MenuDivider,\n} from \"@chakra-ui/react\";\nimport { useDisclosure } from \"@chakra-ui/react\";\nimport CreateDatabase from \"../CreateDatabase/CreateDatabase\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { FaEdit } from \"react-icons/fa\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\nimport { useQuery } from \"react-query\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport EditDatabase from \"../../components/Modal/EditDatabase\";\n\nconst Database = () => {\n const [typeSelected, setTypeSelected] = useState();\n const [editDbConnection, setEditDbConnection] = useState();\n const { isOpen, onOpen, onClose } = useDisclosure();\n\n const { data, isLoading } = useQuery(APIURLS.getDbConnections);\n const db = data;\n\n const editDbHandler = (key) => {\n setEditDbConnection(key);\n onOpen();\n };\n const onCloseHandler = () => {\n setEditDbConnection();\n onClose();\n };\n\n return isLoading ? (\n \n \n \n ) : (\n <>\n {/* */}\n\n \n {/* {table} */}\n

Database

\n
\n \n \n \n \n {typeSelected || \"DB Type\"}\n \n \n setTypeSelected(\"mysql\")}>\n MySQL\n \n setTypeSelected(\"sqlite\")}>\n SQLite\n \n setTypeSelected(\"postgresql\")}>\n PostgreSQL\n \n setTypeSelected()}>\n All\n \n \n \n \n \n \n {\" \"}\n \n {/* \n \n */}\n \n \n \n connection\n \n \n database type\n \n \n database\n \n host\n port\n \n username\n \n \n password\n \n \n \n \n \n {db?.map((key) => {\n if (typeSelected && key.database_type != typeSelected) {\n return true;\n }\n return (\n \n \n {key.connection_name}\n \n \n {key.database_type}\n \n \n {key.database_name}\n \n \n {key.host}\n \n \n {key.host}\n \n \n {key.port}\n \n \n {key.username}\n \n \n {key.password}\n \n {/* \n {\n // {setEditDbConnection(key) &&onOpen }}>\n editDbHandler(key)}>\n \n \n }\n */}\n \n );\n })}\n \n \n \n \n );\n};\n\nexport default Database;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/Application.js",["532","533","534","535","536","537","538","539","540","541","542","543","544","545"],"import { useState } from \"react\";\nimport { Box, H2, Button, Para } from \"../../styles\";\nimport { Redirect } from \"react-router-dom\";\nimport ApplicationNext from \"./ApplicationNext\";\nimport CreateTable from \"./CreateTable\";\nimport CreateAppName from \"./CreateAppName\";\nimport CreateDatabase from \"../CreateDatabase/CreateDatabase\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\nimport { useEffect } from \"reactn\";\nimport { useIsFetching } from \"react-query\";\nimport CreateTableName from \"./CreateTableName\";\n\nconst Application = ({ isOpen, onOpen, onClose }) => {\n const [step, setStep] = useState(1);\n const [dash, setDash] = useState(false);\n const [fetch, setFetch] = useState();\n const queryClient = useQueryClient();\n const [connectionSelected, setConnectionSelected] = useState();\n const [appName, setAppName] = useState();\n const [tableName, setTableName] = useState();\n const [onLoading, setOnLoading] = useState(false);\n const isFetching = useIsFetching();\n\n const onCloseHandler = () => {};\n\n return (\n <>\n {/* \n \n \n \n \n */}\n \n {step === 1 && (\n \n )}\n {step === 2 && }\n {step === 3 && (\n \n )}\n {step === 4 && (\n <>\n {\" \"}\n \n \n )}\n {step === 5 && (\n <>\n \n {isFetching ? (\n \n ) : (\n \n )}\n \n \n )}\n \n {/* \n \n */}\n \n );\n};\n\nexport default Application;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/ApplicationNext.js",["546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572"],"import { useState } from \"react\";\nimport { Box, H2, Button, Para, Span } from \"../../styles\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\nimport Select from \"react-select\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport { useQuery } from \"react-query\";\nimport {\n Menu,\n MenuButton,\n MenuList,\n MenuItem,\n MenuItemOption,\n MenuGroup,\n MenuOptionGroup,\n MenuIcon,\n MenuCommand,\n MenuDivider,\n} from \"@chakra-ui/react\";\n\nconst ApplicationNext = ({ setStep, setConnectionSelected }) => {\n // const [step, setStep] = useState(1);\n const [classId, setClassId] = useState(null);\n const [loading, setLoading] = useState(false);\n const [showConnectionStep, setShowConnectionStep] = useState();\n const [dbTypeSelected, setDbTypeSelected] = useState();\n const [selectedCollection, setSelectedCollection] = useState();\n\n const mysqlCreated = useQuery(APIURLS.dbInfo(\"mysql\"));\n const sqliteCreated = useQuery(APIURLS.dbInfo(\"sqlite\"));\n const postgresCreated = useQuery(APIURLS.dbInfo(\"postgres\"));\n // console.log(sqliteCreated.data.result);\n\n let sqliteOptions = [];\n if (sqliteCreated?.data?.result) {\n {\n Object.entries(sqliteCreated?.data?.result).map(([prop, val]) => {\n console.log(val);\n return sqliteOptions.push({ value: val, label: val });\n });\n }\n }\n let mysqlOptions = [];\n if (mysqlCreated?.data?.result) {\n {\n Object.entries(mysqlCreated?.data?.result).map(([prop, val]) => {\n console.log(val);\n return mysqlOptions.push({ value: val, label: val });\n });\n }\n }\n let postgresOptions = [];\n if (postgresCreated?.data?.result) {\n {\n Object.entries(postgresCreated?.data?.result).map(([prop, val]) => {\n console.log(val);\n return postgresOptions.push({ value: val, label: val });\n });\n }\n }\n\n const showConnectionHandler = (key) => {\n setShowConnectionStep(key);\n };\n const dbTypeSelect = (key) => {\n setDbTypeSelected(key);\n };\n const applicationNextHandler = () => {\n setConnectionSelected(selectedCollection);\n setStep(3);\n };\n\n let showConnection =\n showConnectionStep === 0 ? (\n <>\n \n \n Select Type of Db Connection you want to make\n \n \n \n {\n dbTypeSelect(0);\n }}\n >\n \n MySQl\n \n \n {\n dbTypeSelect(1);\n }}\n >\n \n PostgreSQL\n \n \n {\n dbTypeSelect(2);\n }}\n >\n \n sqlite\n \n \n \n \n ) : (\n <>\n {\" \"}\n \n );\n\n let showDBConnection =\n dbTypeSelected === 0 ? (\n <>\n \n setSelectedCollection(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Mysql Connection\"\n options={mysqlOptions}\n />\n \n \n ) : dbTypeSelected === 1 ? (\n <>\n \n setSelectedCollection(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select PostgreSQL Connection\"\n options={postgresOptions}\n />\n \n \n ) : dbTypeSelected === 2 ? (\n <>\n \n setSelectedCollection(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Sqlite Connection\"\n options={sqliteOptions}\n />\n \n \n ) : null;\n\n return (\n <>\n \n \n \n \n Select connection for your Application\n \n {/* */}\n \n\n \n {\n showConnectionHandler(0);\n }}\n >\n \n Choose from existing connections\n \n \n {\n showConnectionHandler(1);\n }}\n >\n \n create a new connection\n \n \n \n {showConnection}\n {showDBConnection}\n\n \n \n \n \n \n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default ApplicationNext;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/CreateTable.js",["573","574","575","576","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport { Tooltip } from \"@chakra-ui/react\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Para,\n Label,\n} from \"../../styles\";\nimport {\n Table,\n Thead,\n Tbody,\n Tr,\n Th,\n Td,\n TableCaption,\n} from \"@chakra-ui/react\";\nimport { Switch } from \"@chakra-ui/react\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { FaEdit } from \"react-icons/fa\";\nimport { AiOutlineDelete } from \"react-icons/ai\";\nimport { BsPlusCircleFill } from \"react-icons/bs\";\nimport DateTimePicker from \"react-datetime-picker\";\nimport { useIsFetching } from \"react-query\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport Select from \"react-select\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\nimport { TiRssOutline } from \"react-icons/ti\";\n\nconst CreateTable = ({\n step,\n connectionSelected,\n appName,\n onCloseHandler,\n columnsData,\n basejwtPresent,\n setStep,\n setNewStep,\n table,\n tableName,\n}) => {\n // const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors, reset } = useForm();\n const [loading, setLoading] = useState(false);\n const [success, setSuccess] = useState(false);\n const [value, setValue] = useState(new Date());\n const [editValue, setEditValue] = useState(new Date());\n const [selectedFieldType, setSelectedFieldType] = useState();\n const [selectedNullableType, setSelectedNullableType] = useState();\n const [selectedBooleanType, setSelectedBooleanType] = useState();\n const [selectedBinaryType, setSelectedBinaryType] = useState();\n const [selectedUniqueType, setSelectedUniqueType] = useState();\n const [selectedFieldTypeEdit, setSelectedFieldTypeEdit] = useState();\n const [selectedNullableTypeEdit, setSelectedNullableTypeEdit] = useState();\n const [selectedBooleanTypeEdit, setSelectedBooleanTypeEdit] = useState();\n const [selectedBinaryTypeEdit, setSelectedBinaryTypeEdit] = useState();\n const [selectedUniqueTypeEdit, setSelectedUniqueTypeEdit] = useState();\n const [selectedEnumTypeEdit, setSelectedEnumTypeEdit] = useState();\n const [selectedEnumType, setSelectedEnumType] = useState();\n const [columns, setColumns] = useState(columnsData || []);\n const [arrayDefault, setArrayDefault] = useState();\n const [arrayDefaultList, setArrayDefaultList] = useState([]);\n // const [tableName, setTableName] = useState(table || null);\n const [edit, setEdit] = useState();\n const [foreignKeyOptions, setForeignKeyOptions] = useState();\n const [foreignKeyTable, setForeignKeyTable] = useState();\n const [foreignKeyColumn, setForeignKeyColumn] = useState();\n const [foreignKeyCheck, setForeignKeyCheck] = useState(false);\n const [defaultValueCheck, setDefaultValueCheck] = useState(false);\n const [relationCheck, setRelationCheck] = useState(false);\n const [relationshipType, setRelationshipType] = useState();\n const [relationOptions, setRelationOptions] = useState();\n const [relatedTable, setRelatedTable] = useState();\n const [relatedField, setRelatedField] = useState();\n const [baseJWT, setbaseJWT] = useState(false);\n const [restByJWT, setRestByJWT] = useState(false);\n const [filterOpt, setFilterOpt] = useState([]);\n // const queryClient = useQueryClient();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n const columnTypes = useQuery(APIURLS.getColumnTypes);\n const isFetching = useIsFetching();\n\n async function foreignkeyfn() {\n try {\n let { data } = await Api.post(APIURLS.getForeignkey, {\n app_name: appName,\n type: selectedFieldType,\n });\n setForeignKeyOptions(data);\n } catch ({ response }) {\n console.log(response);\n }\n }\n\n async function relationshipfn(value) {\n // let relationCheckValue = relationCheck;\n // setRelationCheck(!relationCheckValue);\n try {\n let { data } = await Api.post(APIURLS.getForeignkey, {\n app_name: appName,\n type: value || selectedFieldType,\n });\n setRelationOptions(data);\n } catch ({ response }) {\n console.log(response);\n }\n }\n\n let relationTable = [];\n if (relationOptions) {\n {\n Object.entries(relationOptions).map(([prop, val]) => {\n // console.log(val);\n return relationTable.push({ value: prop, label: prop });\n });\n }\n }\n let relationColumns = [];\n if (relatedTable) {\n // console.log(relationOptions[relationTable]);\n for (let key in relationOptions[relatedTable]) {\n console.log(relationOptions[relatedTable][key]);\n relationColumns.push({\n value: relationOptions[relatedTable][key],\n label: relationOptions[relatedTable][key],\n });\n }\n }\n\n const deleteHandler = (index) => {\n let columnArray = [...columns];\n columnArray.splice(index, 1);\n setColumns(columnArray);\n setEdit();\n };\n const editHandler = (index) => {\n setEdit(index);\n setSelectedFieldTypeEdit(columns[index].type);\n setSelectedNullableTypeEdit(columns[index].nullable);\n setSelectedBooleanTypeEdit(columns[index].default);\n setSelectedUniqueTypeEdit(columns[index].unique);\n setSelectedEnumTypeEdit(columns[index].default);\n setArrayDefaultList(columns[index].enum);\n setValue(new Date());\n if (columns[index].default) {\n setDefaultValueCheck(true);\n }\n };\n console.log(\"CHECKKEY\", value);\n\n function convert(str) {\n var mnths = {\n Jan: \"01\",\n Feb: \"02\",\n Mar: \"03\",\n Apr: \"04\",\n May: \"05\",\n Jun: \"06\",\n Jul: \"07\",\n Aug: \"08\",\n Sep: \"09\",\n Oct: \"10\",\n Nov: \"11\",\n Dec: \"12\",\n },\n date = str.split(\" \");\n console.log(selectedFieldType, \"inside\");\n if ((selectedFieldType || selectedFieldTypeEdit) === \"DateTime\") {\n return [[date[3], mnths[date[1]], date[2]].join(\"-\"), date[4]].join(\" \");\n } else if ((selectedFieldType || selectedFieldTypeEdit) === \"Date\") {\n return [date[3], mnths[date[1]], date[2]].join(\"-\");\n } else {\n return `${date[4]}`;\n }\n }\n\n const timeChangeHandler = (str) => {\n // let date = str.split(\" \");\n // setValue(date[4]);\n console.log(str);\n };\n console.log(\"valueeeeee\", value, selectedFieldType);\n async function handleSignup(params) {\n console.log(\n \"inttt1\",\n selectedFieldType,\n (selectedFieldType || selectedFieldTypeEdit) ===\n (\"INTEGER\" || \"INT\" || \"integer\" || \"BigInteger\")\n );\n let def;\n if (\n (selectedFieldType || selectedFieldTypeEdit) === \"INTEGER\" ||\n (selectedFieldType || selectedFieldTypeEdit) === \"INT\" ||\n (selectedFieldType || selectedFieldTypeEdit) === \"Integer\" ||\n (selectedFieldType || selectedFieldTypeEdit) === \"BigInteger\" ||\n (selectedFieldType || selectedFieldTypeEdit) === \"Numeric\"\n ) {\n def = parseInt(params.default);\n console.log(\"inttt\", def);\n } else if (\n (selectedFieldType || selectedFieldTypeEdit) === \"Float\" ||\n (selectedFieldType || selectedFieldTypeEdit) === \"DECIMAL\"\n ) {\n def = parseFloat(params.default);\n } else if ((selectedFieldType || selectedFieldTypeEdit) === \"Enum\") {\n def = edit ? selectedEnumTypeEdit : selectedEnumType;\n } else if ((selectedFieldType || selectedFieldTypeEdit) === \"Time\") {\n def = convert(`${value}`);\n } else if ((selectedFieldType || selectedFieldTypeEdit) === \"DateTime\") {\n console.log(\"def1\", value);\n def = convert(`${value}`);\n } else if ((selectedFieldType || selectedFieldTypeEdit) === \"Date\") {\n def = convert(`${value}`);\n } else if (selectedFieldType === \"Boolean\") {\n def = selectedBooleanType;\n } else if (selectedFieldTypeEdit === \"Boolean\") {\n def = selectedBooleanTypeEdit;\n } else if (selectedFieldType === \"Binary\") {\n def = selectedBinaryType;\n } else if (selectedFieldTypeEdit === \"Binary\") {\n def = selectedBinaryTypeEdit;\n } else {\n def = params.default;\n }\n\n console.log(\"def2\", def);\n let column =\n (selectedFieldType || selectedFieldTypeEdit) === \"Enum\"\n ? {\n name: params.name,\n type: edit ? selectedFieldTypeEdit : selectedFieldType,\n nullable: edit ? selectedNullableTypeEdit : selectedNullableType,\n unique: edit ? selectedUniqueTypeEdit : selectedUniqueType,\n ...(defaultValueCheck && { default: def }),\n enum: arrayDefaultList,\n }\n : step\n ? {\n name: params.name,\n type: edit ? selectedFieldTypeEdit : selectedFieldType,\n nullable: edit ? selectedNullableTypeEdit : selectedNullableType,\n unique: edit ? selectedUniqueTypeEdit : selectedUniqueType,\n ...(defaultValueCheck && { default: def }),\n }\n : foreignkeyColumns.length != 0 &&\n foreignKeyCheck &&\n relationCheck &&\n relationColumns\n ? {\n name: params.name,\n type: edit ? selectedFieldTypeEdit : selectedFieldType,\n nullable: edit ? selectedNullableTypeEdit : selectedNullableType,\n unique: edit ? selectedUniqueTypeEdit : selectedUniqueType,\n ...(defaultValueCheck && { default: def }),\n foreign_key: `${foreignKeyTable}.${foreignKeyColumn}`,\n relationship: {\n relationship_type: relationshipType,\n related_field: relatedField,\n related_table: relatedTable,\n },\n }\n : foreignkeyColumns.length != 0 && foreignKeyCheck\n ? {\n name: params.name,\n type: edit ? selectedFieldTypeEdit : selectedFieldType,\n nullable: edit ? selectedNullableTypeEdit : selectedNullableType,\n unique: edit ? selectedUniqueTypeEdit : selectedUniqueType,\n ...(defaultValueCheck && { default: def }),\n foreign_key: `${foreignKeyTable}.${foreignKeyColumn}`,\n }\n : relationCheck && relationColumns.length != 0\n ? {\n name: params.name,\n type: edit ? selectedFieldTypeEdit : selectedFieldType,\n nullable: edit ? selectedNullableTypeEdit : selectedNullableType,\n unique: edit ? selectedUniqueTypeEdit : selectedUniqueType,\n ...(defaultValueCheck && { default: def }),\n relationship: {\n relationship_type: relationshipType,\n related_field: relatedField,\n related_table: relatedTable,\n },\n }\n : {\n name: params.name,\n type: edit ? selectedFieldTypeEdit : selectedFieldType,\n nullable: edit ? selectedNullableTypeEdit : selectedNullableType,\n unique: edit ? selectedUniqueTypeEdit : selectedUniqueType,\n ...(defaultValueCheck && { default: def }),\n };\n let columnArray = [...columns];\n // setTableName(tableName);\n if (edit) {\n columnArray[edit] = column;\n setEdit();\n } else {\n columnArray.push(column);\n }\n\n setColumns(columnArray);\n console.log(\"columnArray\", columnArray);\n setSelectedFieldType();\n setSelectedNullableType();\n setSelectedBooleanType();\n setSelectedBinaryType();\n setSelectedUniqueType();\n setArrayDefault(\"\");\n setArrayDefaultList([]);\n setRelationCheck(false);\n setForeignKeyCheck(false);\n setDefaultValueCheck(false);\n setRelationshipType();\n setRelatedField();\n setRelatedTable();\n\n // setValue(new Date());\n reset();\n }\n console.log(\"setColumns\", columns);\n\n async function createTableRequest() {\n setLoading(true);\n try {\n let { data } =\n baseJWT && filterOpt.length !== 0 && columnsData && tableName\n ? await Api.put(APIURLS.getContentType, {\n table_name: tableName,\n app_name: appName,\n // restrict_by_jwt: false,,\n columns: columns,\n base_jwt: true,\n filter_keys: filterOpt,\n // filter_keys: [\"1\"],\n })\n : restByJWT && columnsData && tableName\n ? await Api.put(APIURLS.getContentType, {\n table_name: tableName,\n app_name: appName,\n restrict_by_jwt: true,\n columns: columns,\n })\n : columnsData && tableName\n ? await Api.put(APIURLS.getContentType, {\n table_name: tableName,\n app_name: appName,\n restrict_by_jwt: false,\n columns: columns,\n })\n : baseJWT && filterOpt.length !== 0\n ? await Api.post(APIURLS.getContentType, {\n table_name: tableName,\n app_name: appName,\n // restrict_by_jwt: false,,\n columns: columns,\n base_jwt: true,\n filter_keys: filterOpt,\n // filter_keys: [\"1\"],\n })\n : restByJWT\n ? await Api.post(APIURLS.getContentType, {\n table_name: tableName,\n app_name: appName,\n restrict_by_jwt: true,\n columns: columns,\n })\n : await Api.post(APIURLS.getContentType, {\n table_name: tableName,\n app_name: appName,\n restrict_by_jwt: false,\n columns: columns,\n });\n await setTimeout(() => {\n queryClient.refetchQueries(APIURLS.getContentType);\n\n toast({\n title: \"App created successfully.\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n // console.log(\"heretimeloop\", queryClient.isFetching());\n // setOnLoading(true);\n\n if (step) {\n setStep(5);\n }\n if (!step) {\n setNewStep(3);\n }\n\n // onCloseHandler();\n }, 20000);\n\n // onClose();\n console.log(\"data\", data);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n console.log(response);\n // setApiErr(response?.data?.message);\n setLoading(false);\n // onCloseHandler();\n }\n // setTableName(params.name);\n }\n\n let filterOptions = [];\n if (columns.length !== 0) {\n {\n Object.entries(columns).map(([prop, val]) => {\n return val.nullable === \"false\" && val.unique === \"true\"\n ? filterOptions.push({ value: val.name, label: val.name })\n : null;\n });\n }\n }\n let nullableTypesOptions = [\n {\n value: \"true\",\n label: \"true\",\n },\n {\n value: \"false\",\n label: \"false\",\n },\n ];\n let booleanTypesOptions = [\n {\n value: \"true\",\n label: \"true\",\n },\n {\n value: \"false\",\n label: \"false\",\n },\n {\n value: 1,\n label: 1,\n },\n {\n value: 0,\n label: 0,\n },\n ];\n let binaryTypesOptions = [\n {\n value: 1,\n label: 1,\n },\n {\n value: 0,\n label: 0,\n },\n ];\n let uniqueTypesOptions = [\n {\n value: \"true\",\n label: \"true\",\n },\n {\n value: \"false\",\n label: \"false\",\n },\n ];\n console.log(\"selectedUniqueType\", selectedUniqueType);\n let columnTypesOptions = [];\n if (columnTypes?.data?.result) {\n {\n Object.entries(columnTypes?.data?.result).map(([prop, val]) => {\n // console.log(val);\n if (val === \"String\") {\n return columnTypesOptions.push({\n value: \"String(123)\",\n label: \"String(123)\",\n });\n }\n return columnTypesOptions.push({ value: val, label: val });\n });\n }\n }\n let foreignkeyTable = [];\n if (foreignKeyOptions) {\n {\n Object.entries(foreignKeyOptions).map(([prop, val]) => {\n // console.log(val);\n return foreignkeyTable.push({ value: prop, label: prop });\n });\n }\n }\n let foreignkeyColumns = [];\n if (foreignKeyTable) {\n console.log(foreignKeyOptions[foreignKeyTable]);\n for (let key in foreignKeyOptions[foreignKeyTable]) {\n console.log(foreignKeyOptions[foreignKeyTable][key]);\n foreignkeyColumns.push({\n value: foreignKeyOptions[foreignKeyTable][key],\n label: foreignKeyOptions[foreignKeyTable][key],\n });\n }\n }\n\n console.log(\"foreignkeyTable\", foreignkeyTable);\n console.log(\"foreignKeyOptions\", foreignKeyOptions);\n console.log(\"foreignkeyColumns\", foreignkeyColumns);\n let contentTypeApps = Object.entries(columns).map(([prop, val]) => {\n console.log(val);\n return (\n \n {val.name}\n \n {val.type}\n \n \n {val.unique}\n \n \n {val.nullable}\n \n \n {val.default}\n \n {/* \n {val.foreign_key}\n */}\n \n {\n // {setEditDbConnection(key) &&onOpen }}>\n \n \n \n editHandler(prop)}\n />{\" \"}\n \n \n \n \n deleteHandler(prop)}\n />{\" \"}\n \n \n \n }\n \n \n );\n });\n\n const setbaseJWTHandler = (e) => {\n // let baseJWTvalue = !baseJWT;\n console.log(\"Valuejwt\", e);\n // setbaseJWT(baseJWTvalue);\n };\n\n console.log(\"JWT\", baseJWT);\n\n const handleMultiChange = (option) => {\n console.log(\"jndjs\", option);\n let array = [];\n for (let key in option) {\n console.log(option);\n array.push(option[key].value);\n }\n console.log(array);\n setFilterOpt(array);\n };\n\n // const handleEnumChange = (option) => {\n // console.log(\"jndjs\", option);\n // let array = [];\n // for (let key in option) {\n // console.log(option);\n // array.push(option[key].value);\n // }\n // console.log(array);\n // setFilterOpt(array);\n // };\n\n const addArrayDefaultHandler = () => {\n let newEnumList = arrayDefaultList;\n let newObj = {\n value: arrayDefault,\n label: arrayDefault,\n };\n newEnumList.push(newObj);\n\n setArrayDefaultList(newEnumList);\n setArrayDefault(\"\");\n // setUserEmail();\n };\n console.log(arrayDefaultList);\n const removeArrayDefaultHandler = (index) => {\n let newArrayDefaultList = [];\n for (let key in arrayDefaultList) {\n console.log(arrayDefaultList[key], \"key\", key);\n if (key != index) {\n newArrayDefaultList.push(arrayDefaultList[key]);\n }\n }\n\n // console.log(newArrayDefaultList);\n setArrayDefaultList(newArrayDefaultList);\n };\n const relationTypeHandler = (value) => {\n console.log(\"INSIDDDEEEEEEEEEEEEE\");\n setRelationshipType(value);\n\n if (relationCheck && (value === \"one-one\" || value === \"one-many\")) {\n setSelectedUniqueType(\"true\");\n } else if (\n relationCheck &&\n (value === \"many-one\" || value === \"many-many\")\n ) {\n setSelectedUniqueType(\"false\");\n }\n };\n const fieldTypeHandler = (value) => {\n edit ? setSelectedFieldTypeEdit(value) : setSelectedFieldType(value);\n relationshipfn(value);\n };\n\n console.log(\"arrayDefaultList\", arrayDefaultList);\n return loading || isFetching > 0 ? (\n \n \n \n \n \n ) : (\n <>\n {step ? (\n \n Create Table for your App\n \n ) : null}\n \n {/* */}\n\n \n {/* \n \n Create A Collection type\n \n \n */}\n \n \n {/* \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n */}\n \n \n \n edit\n ? option.label === selectedFieldTypeEdit\n : option.label === selectedFieldType\n )}\n onChange={({ value }) => fieldTypeHandler(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={columnTypesOptions}\n />\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n edit\n ? option.label === selectedNullableTypeEdit\n : option.label === selectedNullableType\n )}\n onChange={({ value }) =>\n edit\n ? setSelectedNullableTypeEdit(value)\n : setSelectedNullableType(value)\n }\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={nullableTypesOptions}\n />\n \n \n \n \n edit\n ? option.label === selectedUniqueTypeEdit\n : option.label === selectedUniqueType\n )\n }\n onChange={({ value }) =>\n relationCheck\n ? setSelectedUniqueType(selectedUniqueType)\n : edit\n ? setSelectedUniqueTypeEdit(value)\n : setSelectedUniqueType(value)\n }\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={uniqueTypesOptions}\n />\n {relationCheck ? (\n \n If you are adding Relationship, the unique constain will be\n True if relation is 'One to One' or 'One to Many' and False\n if relation is 'Many to One' or 'Many to Many'.\n \n ) : null}\n {\" \"}\n \n \n \n setDefaultValueCheck(e.target.checked)}\n />\n \n \n Do you want to add Default Value{\" \"}\n \n \n {(selectedFieldType || columns[edit]?.type) === \"Enum\" ? (\n <>\n \n \n edit\n ? option.label === selectedEnumTypeEdit\n : option.label === selectedEnumType\n )}\n onChange={({ value }) =>\n edit\n ? setSelectedEnumTypeEdit(value)\n : setSelectedEnumType(value)\n }\n defaultValue={edit ? `${columns[edit]?.default}` : null}\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={arrayDefaultList}\n />\n \n \n ) : (selectedFieldType || columns[edit]?.type) === \"Date\" ? (\n \n {\" \"}\n new Date(str)}\n format={\"y-MM-d\"}\n />{\" \"}\n \n ) : (selectedFieldType || columns[edit]?.type) === \"DateTime\" ? (\n \n {\" \"}\n new Date(str)}\n />{\" \"}\n \n ) : (selectedFieldType || columns[edit]?.type) === \"Time\" ? (\n \n {\" \"}\n new Date(str)}\n format={\"y-MM-dd h:m:s\"}\n />{\" \"}\n \n ) : (selectedFieldType || columns[edit]?.type) ===\n \"BigInteger\" ? (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n ) : (selectedFieldType || columns[edit]?.type) === \"Numeric\" ? (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n ) : (selectedFieldType || columns[edit]?.type) === \"Float\" ? (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n ) : (selectedFieldType || columns[edit]?.type) === \"DECIMAL\" ? (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n ) : (selectedFieldType || columns[edit]?.type) === \"Boolean\" ? (\n \n \n edit\n ? option.label === selectedBooleanTypeEdit\n : option.label === selectedBooleanType\n )}\n onChange={({ value }) =>\n edit\n ? setSelectedBooleanTypeEdit(value)\n : setSelectedBooleanType(value)\n }\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={booleanTypesOptions}\n />\n \n ) : (selectedFieldType || columns[edit]?.type) === \"Binary\" ? (\n \n \n edit\n ? option.label === selectedBinaryTypeEdit\n : option.label === selectedBinaryType\n )}\n onChange={({ value }) =>\n edit\n ? setSelectedBinaryTypeEdit(value)\n : setSelectedBinaryType(value)\n }\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={binaryTypesOptions}\n />\n \n ) : (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n )}\n {(selectedFieldType || columns[edit]?.type) === \"Enum\" ? (\n <>\n {\" \"}\n \n \n \n setArrayDefault(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n {\" \"}\n {\" \"}\n \n \n {edit\n ? columns[edit]?.enum.map((key, index) => {\n return (\n \n \n {key[\"value\"]}\n \n \n removeArrayDefaultHandler(index)}\n />\n \n \n );\n })\n : arrayDefaultList.map((key, index) => {\n return (\n \n \n {key[\"value\"]}\n \n \n removeArrayDefaultHandler(index)}\n />\n \n \n );\n })}\n \n ) : null}\n
\n {!step ? (\n \n \n \n setForeignKeyCheck(e.target.checked)}\n />\n \n \n Do you want to add foreign key{\" \"}\n \n ) : null}\n {!step ? : null}\n {!step ? (\n \n \n // edit\n // ? option.label === selectedFieldTypeEdit\n // : option.label === selectedFieldType\n // )}\n onChange={({ value }) => setForeignKeyTable(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Table\"\n options={foreignkeyTable}\n />\n \n ) : null}\n {!step ? (\n \n setForeignKeyColumn(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Field\"\n options={foreignkeyColumns}\n />\n \n ) : null}\n {!step ? (\n \n \n \n relationshipfn()}\n isChecked={relationCheck}\n onChange={(e) => setRelationCheck(e.target.checked)}\n />\n \n \n Do you want to add Relations\n \n ) : null}\n {!step ? : null}\n {!step ? (\n \n relationTypeHandler(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"relationship_type\"\n options={[\n {\n value: \"one-one\",\n label: \"one-one\",\n },\n {\n value: \"many-one\",\n label: \"many-one\",\n },\n {\n value: \"many-many\",\n label: \"many-many\",\n },\n {\n value: \"one-many\",\n label: \"one-many\",\n },\n ]}\n />\n \n ) : null}\n {!step ? (\n \n setRelatedTable(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"related_table\"\n options={relationTable}\n />\n \n ) : null}\n {!step ? (\n \n setRelatedField(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"related_field\"\n options={relationColumns}\n />\n \n ) : null}\n \n {/* getfolder(event)}\n name=\"dirpath\"\n webkitdirectory\n webkitdirectory\n mozdirectory\n msdirectory\n odirectory\n directory\n multiple\n /> */}\n \n {/* */}\n \n \n \n \n \n \n \n \n {basejwtPresent ? (\n \n \n \n setRestByJWT(e.target.checked)}\n />\n \n \n restrict this table by jwt\n \n ) : (\n \n \n \n setbaseJWT(e.target.checked)}\n />\n \n \n Use this table as a Authorization table\n \n )}\n\n {baseJWT ? (\n <>\n \n \n \n // edit\n // ? option.label === selectedFieldTypeEdit\n // : option.label === selectedFieldType\n // )}\n onChange={handleMultiChange}\n isMulti\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Filter\"\n options={filterOptions}\n />\n {\" \"}\n \n ) : null}\n \n \n \n \n \n name\n \n \n type\n \n \n unique\n \n \n nullable\n \n \n default\n \n {/* \n Foreign Key\n */}\n\n \n \n \n {contentTypeApps}\n \n \n \n \n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default CreateTable;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/Content.js",["599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617"],"import React, { useState, useEffect } from \"react\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n H1,\n H2,\n H5,\n MotionBox,\n Para,\n} from \"../../styles\";\nimport { Tooltip } from \"@chakra-ui/react\";\nimport { Redirect } from \"react-router-dom\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { FaEdit } from \"react-icons/fa\";\nimport { AiOutlineDelete } from \"react-icons/ai\";\nimport { useParams } from \"react-router\";\nimport Api, { ApiJwt, APIURLS } from \"../../Api\";\nimport {\n Table,\n Thead,\n Tbody,\n Tr,\n Th,\n Td,\n TableCaption,\n} from \"@chakra-ui/react\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useDisclosure } from \"@chakra-ui/react\";\nimport ContentField from \"../../components/Modal/ContentField\";\nimport AppTableCreation from \"../../components/Modal/AppTableCreation\";\nimport AppTableData from \"../../components/Modal/AppTableData\";\nimport BaseJwtLogin from \"../../components/Modal/BaseJwtLogin\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport { useIsFetching } from \"react-query\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nconst Content = () => {\n const { isOpen, onOpen, onClose } = useDisclosure();\n const [toggle, setToggle] = useState(true);\n const [loading, setLoading] = useState(false);\n const [editDataId, setEditDataId] = useState();\n const [deleteTableToggle, setDeleteTableToggle] = useState(false);\n const [openModal, setOpenModal] = useState();\n let { app, table } = useParams();\n const queryClient = useQueryClient();\n const toast = createStandaloneToast();\n const { data, isLoading } = useQuery(APIURLS.getContentType);\n const isFetchingApps = useIsFetching([APIURLS.getContentType]);\n let contentTypeApps = null;\n let tableFieldShow = null;\n let sendGetTableContent = null;\n if (data != null && data[app][\"jwt_info\"]) {\n console.log(\"Sendhing...\", localStorage.getItem(\"jwtToken\"));\n sendGetTableContent = [APIURLS.getTableContent({ app, table }), \"jwt_info\"];\n } else {\n sendGetTableContent = APIURLS.getTableContent({ app, table });\n }\n\n const fieldData = useQuery(sendGetTableContent);\n let fieldDataBodyArray = [];\n // console.log(\"fuck\", data[app][\"jwt_info\"]);\n\n async function exportAppHandler() {\n console.log(app);\n try {\n let { data } = await Api.post(APIURLS.exportApp(), {\n app_name: app,\n });\n\n toast({\n title: \"Data Added.\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n // onClose();\n console.log(\"there\", data);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n console.log(response);\n }\n }\n\n if (data != null && data[app][table]) {\n // const formElementsArray = [];\n // for (let key in data[id]) {\n // formElementsArray.push({\n // id: key,\n // config: data[id][key],\n // });\n // }\n // console.log(formElementsArray[0]);\n // let table = Object.entries(data[id]);\n contentTypeApps = Object.entries(data[app][table]).map(([prop, val]) => {\n console.log(prop, val);\n return (\n \n \n {val.name}\n \n \n {val.type}\n \n \n {val.foreign_key}\n \n\n {/* \n {val.unique}\n \n \n {val.nullable}\n \n \n {val.default}\n \n */}\n \n \n );\n });\n tableFieldShow = Object.entries(data[app][table]).map(([prop, val]) => {\n fieldDataBodyArray.push(val.name);\n return (\n {val.name}\n );\n });\n }\n\n const editHandler = (id) => {\n setEditDataId(id);\n setOpenModal(1);\n\n onOpen();\n };\n\n async function deleteHandler(editDataId) {\n let deleteRow = null;\n setLoading(true);\n try {\n if (data != null && data[app][\"jwt_info\"]) {\n let { data } = await ApiJwt.delete(\n APIURLS.getTableContentById({ app, table, editDataId })\n );\n } else {\n let { data } = await Api.delete(\n APIURLS.getTableContentById({ app, table, editDataId })\n );\n }\n\n await queryClient.refetchQueries([\n APIURLS.getTableContent({ app, table }),\n ]);\n // setSuccess(true);\n\n toast({\n title: \"Deleted.\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n onClose();\n setLoading(false);\n console.log(\"there\", data);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n console.log(response);\n setLoading(false);\n }\n }\n async function deleteTableHandler() {\n setLoading(true);\n try {\n let { data } = await Api.delete(APIURLS.deleteTable({ app, table }));\n await setTimeout(() => {\n queryClient.refetchQueries(APIURLS.getContentType);\n\n toast({\n title: \"Deleted.\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n\n setDeleteTableToggle(true);\n setLoading(false);\n }, 15000);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n console.log(response);\n setLoading(false);\n }\n }\n\n let fieldDataBody = null;\n if (fieldData?.data?.result) {\n fieldDataBody = Object.entries(fieldData?.data?.result).map(\n ([prop, val]) => {\n return (\n \n \n {val[\"id\"]}\n \n {Object.entries(fieldDataBodyArray).map(([prop, value]) => {\n console.log(prop, value, \"here\", val[value]);\n return (\n \n {val[value] === true\n ? \"true\"\n : val[value] === false\n ? \"false\"\n : val[value]}\n \n );\n })}\n\n \n {val[\"create_dt\"]}\n \n \n {\n // {setEditDbConnection(key) &&onOpen }}>\n \n \n \n {\" \"}\n editHandler(val[\"id\"])}\n >\n \n \n \n \n deleteHandler(val[\"id\"])}\n />\n \n \n \n }\n \n \n );\n }\n );\n }\n let captionButtonData = null;\n if (data) {\n captionButtonData = (\n \n {data[app][\"jwt_info\"]?.base_table === table ? (\n \n ) : null}\n \n \n );\n }\n let captionButtonField = null;\n if (data) {\n captionButtonField = (\n \n );\n }\n let CreateTable,\n exportTable = null;\n // if (data) {\n // CreateTable = (\n // \n // );\n // exportTable = (\n // \n // );\n // }\n let editTable = null;\n // if (data) {\n // editTable = (\n // \n // );\n // }\n let modal = null;\n const openModalHandler = (key) => {\n setOpenModal(key);\n\n onOpen();\n };\n\n // let modal = null;\n // if (data) {\n // modal = (\n //\n // );\n // }\n\n // let createTableModal = null;\n // if (data) {\n\n // }\n\n return loading || isLoading ? (\n \n \n \n \n \n ) : (\n <>\n {deleteTableToggle ? : null}\n {openModal === 3 ? (\n \n ) : openModal === 2 ? (\n \n ) : openModal === 1 ? (\n \n ) : openModal === 4 ? (\n \n ) : openModal === 5 ? (\n \n ) : null}\n {/* \n {data ?

{table}

: null}\n \n {CreateTable}\n {exportTable}\n \n
*/}\n \n {table}\n \n \n {\n setToggle(true);\n }}\n >\n Data\n \n {\n setToggle(false);\n }}\n >\n Fields\n {\" \"}\n \n {!toggle ? (\n \n \n {captionButtonField}\n \n \n \n Fields\n \n \n Type\n \n \n Foreign Key\n \n \n {\n // {setEditDbConnection(key) &&onOpen }}>\n \n \n \n openModalHandler(4)}\n >\n \n \n \n \n deleteTableHandler()}\n />\n \n \n \n }\n \n {/* type\n \n unique\n \n \n nullable\n \n \n default\n \n \n Foreign Key\n \n\n */}\n \n \n {contentTypeApps}\n \n \n ) : (\n \n {\" \"}\n \n {captionButtonData}\n \n \n Id\n {tableFieldShow}\n\n \n Created_at\n \n \n \n {fieldDataBody}\n \n \n )}\n \n );\n};\n\nexport default Content;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/CreateAppName.js",["618","619","620","621","622","623","624","625"],"import React, { useState, useEffect } from \"react\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n} from \"../../styles\";\nimport { useForm } from \"react-hook-form\";\n\nconst CreateAppName = ({ setStep, setAppName }) => {\n const { handleSubmit, register, errors } = useForm();\n\n async function handleSignup(params) {\n setAppName(params.appName);\n setStep(2);\n }\n\n return (\n <>\n \n \n \n Create New App \n {/* */}\n \n\n \n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n {/* */}\n \n \n \n );\n};\n\nexport default CreateAppName;\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/ContentField.js",["626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { Checkbox, CheckboxGroup } from \"@chakra-ui/react\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n Para,\n} from \"../../styles\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\nimport { Switch } from \"@chakra-ui/react\";\n// import { useQueryClient } from \"react-query\";\n// import { useToast, createStandaloneToast } from \"@chakra-ui/react\";\n// import Api, { setHeader, APIURLS } from \"../../Api\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport Select from \"react-select\";\n\nconst ContentField = ({\n isOpen,\n onOpen,\n onClose,\n appName,\n connectionSelected,\n columns,\n tablename,\n}) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [selectedFieldType, setSelectedFieldType] = useState();\n const [foreignKeyOptions, setForeignKeyOptions] = useState();\n const [relationOptions, setRelationOptions] = useState();\n const [foreignKeyTable, setForeignKeyTable] = useState();\n const [foreignKeyColumn, setForeignKeyColumn] = useState();\n const [foreignKeyCheck, setForeignKeyCheck] = useState(false);\n const [relationCheck, setRelationCheck] = useState(false);\n const [relationshipType, setRelationshipType] = useState();\n const [relatedTable, setRelatedTable] = useState();\n const [relatedField, setRelatedField] = useState();\n const [value, setValue] = React.useState(\"1\");\n // const queryClient = useQueryClient();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n const columnTypes = useQuery(APIURLS.getColumnTypes);\n const contentType = useQuery(APIURLS.getContentType);\n // const [loading, setLoading] = useState(false);\n // const [success, setSuccess] = useState(false);\n // const [apiErr, setApiErr] = useState(null);\n // const queryClient = useQueryClient();\n // const toast = createStandaloneToast();\n\n async function foreignkeyfn() {\n let foreignKeyCheckValue = foreignKeyCheck;\n setForeignKeyCheck(!foreignKeyCheckValue);\n try {\n let { data } = await Api.post(APIURLS.getForeignkey, {\n app_name: appName,\n type: selectedFieldType,\n });\n setForeignKeyOptions(data);\n } catch ({ response }) {\n console.log(response);\n }\n }\n\n async function relationshipfn() {\n let relationCheckValue = relationCheck;\n setRelationCheck(!relationCheckValue);\n try {\n let { data } = await Api.post(APIURLS.getForeignkey, {\n app_name: appName,\n type: \"\",\n });\n setRelationOptions(data);\n } catch ({ response }) {\n console.log(response);\n }\n }\n\n console.log(\"here\", columns);\n let columnTypesOptions = [];\n\n if (columnTypes?.data?.result) {\n {\n Object.entries(columnTypes?.data?.result).map(([prop, val]) => {\n // console.log(val);\n return columnTypesOptions.push({ value: val, label: val });\n });\n }\n }\n\n let foreignkeyTable = [];\n if (foreignKeyOptions) {\n {\n Object.entries(foreignKeyOptions).map(([prop, val]) => {\n // console.log(val);\n return foreignkeyTable.push({ value: prop, label: prop });\n });\n }\n }\n let foreignkeyColumns = [];\n if (foreignKeyTable) {\n console.log(foreignKeyOptions[foreignKeyTable]);\n for (let key in foreignKeyOptions[foreignKeyTable]) {\n console.log(foreignKeyOptions[foreignKeyTable][key]);\n foreignkeyColumns.push({\n value: foreignKeyOptions[foreignKeyTable][key],\n label: foreignKeyOptions[foreignKeyTable][key],\n });\n }\n }\n let relationTable = [];\n if (relationOptions) {\n {\n Object.entries(relationOptions).map(([prop, val]) => {\n // console.log(val);\n return relationTable.push({ value: prop, label: prop });\n });\n }\n }\n let relationColumns = [];\n if (relatedTable) {\n // console.log(relationOptions[relationTable]);\n for (let key in relationOptions[relatedTable]) {\n console.log(relationOptions[relatedTable][key]);\n relationColumns.push({\n value: relationOptions[relatedTable][key],\n label: relationOptions[relatedTable][key],\n });\n }\n }\n\n console.log(\"foreignkeyTable\", relationTable);\n console.log(\"foreignKeyOptions\", relationOptions);\n console.log(\"foreignkeyColumns\", relationColumns);\n console.log(\"sds\", foreignKeyCheck);\n\n async function handleSignup(params) {\n // console.log(params);\n try {\n let def = params.default;\n if (selectedFieldType === (\"INTEGER\" || \"INT\" || \"Integer\")) {\n console.log(\"inttt\");\n def = parseInt(params.default);\n }\n if (foreignkeyColumns && foreignKeyCheck) {\n columns.push({\n name: params.name,\n type: selectedFieldType,\n nullable: params.nullable,\n unique: params.unique,\n default: def,\n foreign_key: `${foreignKeyTable}.${foreignKeyColumn}`,\n });\n } else if (relationCheck && relationColumns) {\n columns.push({\n name: params.name,\n type: selectedFieldType,\n nullable: params.nullable,\n unique: params.unique,\n default: def,\n relationship: {\n relationship_type: relationshipType,\n related_field: relatedField,\n related_table: relatedTable,\n },\n });\n } else {\n columns.push({\n name: params.name,\n type: selectedFieldType,\n nullable: params.nullable,\n unique: params.unique,\n default: def,\n });\n }\n\n let { data } = await Api.put(APIURLS.getContentType, {\n table_name: tablename,\n app_name: appName,\n // restrict_by_jwt: false,\n columns: columns,\n });\n\n await queryClient.refetchQueries([APIURLS.getContentType]);\n // setSuccess(true);\n\n toast({\n title: \"Database created successfully.\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n onClose();\n console.log(\"there\", columns);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n console.log(response);\n // setApiErr(response?.data?.message);\n // setLoading(false);`\n }\n // setTableName(params.name);\n // setStep(3);\n }\n\n return (\n <>\n \n \n \n \n {\" \"}\n \n \n \n \n \n \n {/* */}\n {/* \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )} */}\n \n \n setSelectedFieldType(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={columnTypesOptions}\n />\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n\n {/* setForeignKeyCheck(e.target.checked)}\n // value={true}\n // isIndeterminate={isIndeterminate}\n // onChange={(e) => setCheckedItems([e.target.checked, e.target.checked])}\n onClick={foreignkeyfn}\n >\n Do you want to add foreign key\n */}\n \n \n Do you want to add foreign key\n \n\n
\n \n\n \n \n // edit\n // ? option.label === selectedFieldTypeEdit\n // : option.label === selectedFieldType\n // )}\n onChange={({ value }) => setForeignKeyTable(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Table\"\n options={foreignkeyTable}\n />\n
\n \n \n // edit\n // ? option.label === selectedFieldTypeEdit\n // : option.label === selectedFieldType\n // )}\n // onChange={({ value }) =>\n // edit\n // ? setSelectedFieldTypeEdit(value)\n // : setSelectedFieldType(value)\n // }\n onChange={({ value }) => setForeignKeyColumn(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Field\"\n options={foreignkeyColumns}\n />\n \n \n \n Do you want to add Relations\n \n \n\n \n \n // edit\n // ? option.label === selectedFieldTypeEdit\n // : option.label === selectedFieldType\n // )}\n onChange={({ value }) => setRelationshipType(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"relationship_type\"\n options={[\n {\n value: \"one-one\",\n label: \"one-one\",\n },\n {\n value: \"many-one\",\n label: \"many-one\",\n },\n {\n value: \"many-many\",\n label: \"many-many\",\n },\n {\n value: \"one-many\",\n label: \"one-many\",\n },\n ]}\n />\n \n \n \n // edit\n // ? option.label === selectedFieldTypeEdit\n // : option.label === selectedFieldType\n // )}\n // onChange={({ value }) =>\n // edit\n // ? setSelectedFieldTypeEdit(value)\n // : setSelectedFieldType(value)\n // }\n onChange={({ value }) => setRelatedTable(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"related_table\"\n options={relationTable}\n />\n \n \n \n // edit\n // ? option.label === selectedFieldTypeEdit\n // : option.label === selectedFieldType\n // )}\n // onChange={({ value }) =>\n // edit\n // ? setSelectedFieldTypeEdit(value)\n // : setSelectedFieldType(value)\n // }\n onChange={({ value }) => setRelatedField(value)}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"related_field\"\n options={relationColumns}\n />\n \n \n \n \n
\n
\n
\n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default ContentField;\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/AppTableCreation.js",["647","648","649","650","651","652","653","654","655","656","657","658","659","660","661","662","663","664","665","666","667","668","669","670","671","672"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n} from \"../../styles\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\nimport { Redirect } from \"react-router-dom\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport Select from \"react-select\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\nimport { useIsFetching } from \"react-query\";\nimport CreateTable from \"../../containers/Application/CreateTable\";\nimport CreateTableName from \"../../containers/Application/CreateTableName\";\n\nconst AppTableCreation = ({\n isOpen,\n onOpen,\n onClose,\n appName,\n columns,\n basejwtPresent,\n tableNamePassed,\n edit,\n}) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [selectedFieldType, setSelectedFieldType] = useState();\n const [tableName, setTableName] = useState(tableNamePassed || null);\n const [newStep, setNewStep] = useState();\n const queryClient = useQueryClient();\n // const isFetching = useIsFetching();\n const isFetching = useIsFetching();\n // const isFetchingApps = useIsFetching([APIURLS.getContentType]);\n useEffect(() => {\n if (edit) {\n setNewStep(2);\n } else {\n setNewStep(1);\n }\n }, [edit]);\n\n async function onCloseHandler() {\n setTableName();\n\n if (edit) {\n setNewStep(2);\n } else {\n setNewStep(1);\n }\n onClose();\n }\n console.log(\n \"step\",\n newStep,\n \"tableNmae\",\n tableName,\n \"tableNamePassed\",\n tableNamePassed\n );\n return (\n <>\n \n \n \n \n \n \n \n \n {newStep === 1 && (\n \n )}\n {newStep === 2 && (\n <>\n \n \n )}\n {newStep === 3 && (\n <>\n \n {isFetching ? (\n \n ) : (\n \n )}\n \n \n )}\n \n \n \n \n );\n};\n\n// const CARD_ELEMENT_OPTIONS = {\n// style: {\n// base: {\n// color: \"#32325d\",\n// fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n// fontSmoothing: \"antialiased\",\n// fontSize: \"18px\",\n// \"::placeholder\": {\n// color: \"#aab7c4\",\n// },\n// },\n// invalid: {\n// color: \"#fa755a\",\n// iconColor: \"#fa755a\",\n// },\n// },\n// };\n\nexport default AppTableCreation;\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/AppTableData.js",["673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691","692","693"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n} from \"../../styles\";\nimport DateTimePicker from \"react-datetime-picker\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, setJwtHeader, APIURLS, ApiJwt } from \"../../Api\";\nimport Select from \"react-select\";\n\nconst AppTableData = ({\n isOpen,\n onOpen,\n onClose,\n app,\n columns,\n table,\n editDataId,\n basejwt,\n restrictByJwt,\n}) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [selectedFieldType, setSelectedFieldType] = useState();\n const [value, setValue] = useState({});\n const [selectedBooleanType, setSelectedBooleanType] = useState({});\n const [selectedBinaryType, setSelectedBinaryType] = useState({});\n const [jwtToken, setJwtToken] = useGlobal(\"jwtToken\");\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n const columnTypes = useQuery(APIURLS.getColumnTypes);\n const contentType = useQuery([APIURLS.getContentType], {\n enabled: !!token,\n });\n const { data, isFetching } = useQuery(\n [APIURLS.getTableContentById({ app, table, editDataId }), basejwt],\n {\n enabled: !!token,\n }\n );\n console.log(data?.result);\n // const [loading, setLoading] = useState(false);\n // const [success, setSuccess] = useState(false);\n // const [apiErr, setApiErr] = useState(null);\n // const queryClient = useQueryClient();\n // const toast = createStandaloneToast();\n useEffect(() => {\n let token = Object.entries(columns).map(([prop, val]) => {\n console.log(val);\n console.log(\"here\", value, [val?.type], val?.name);\n if (\n val.type === \"DATETIME\" ||\n val.type === \"TIME\" ||\n val.type === \"DATE\"\n ) {\n let obj = value;\n obj[val?.name] = new Date();\n setValue(obj);\n }\n if (val.type === \"BOOLEAN\") {\n let obj = selectedBooleanType;\n obj[val?.name] = \"\";\n\n setSelectedBooleanType(obj);\n }\n if (val.type === \"BLOB\") {\n let obj = selectedBinaryType;\n obj[val?.name] = \"\";\n console.log(obj, \"setSelectedBinaryType\");\n setSelectedBinaryType(obj);\n }\n });\n }, []);\n\n console.log(selectedBooleanType, \"selectedBooleanType\");\n\n let booleanTypesOptions = [\n {\n value: \"true\",\n label: \"true\",\n },\n {\n value: \"false\",\n label: \"false\",\n },\n {\n value: 1,\n label: 1,\n },\n {\n value: 0,\n label: 0,\n },\n ];\n let binaryTypesOptions = [\n {\n value: 1,\n label: 1,\n },\n {\n value: 0,\n label: 0,\n },\n ];\n const setValueHandler = (e, name) => {\n let obj = value;\n obj[name] = e;\n setValue(obj);\n\n console.log(name);\n console.log(obj);\n console.log(e);\n };\n console.log(value);\n let fields = null;\n fields = Object.entries(columns).map(([prop, val]) => {\n console.log(val);\n console.log(\"here\", val.name);\n\n // if (val.type === \"DATETIME\" || val.type === \"TIME\" || val.type === \"DATE\") {\n // setValue({ ...value, [val?.type]: val?.name });\n // }\n return (\n <>\n \n \n {val.type === \"INTEGER\" ||\n val.type === \"Integer\" ||\n val.type === \"INT\" ? (\n \n ) : val.type === \"Enum\" ? (\n <>\n {/* \n \n edit\n ? option.label === selectedEnumTypeEdit\n : option.label === selectedEnumType\n )}\n onChange={({ value }) =>\n edit\n ? setSelectedEnumTypeEdit(value)\n : setSelectedEnumType(value)\n }\n defaultValue={edit ? `${columns[edit]?.default}` : null}\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={arrayDefaultList}\n />\n */}\n \n ) : val.type === \"DATE\" ? (\n \n {\" \"}\n setValue({ ...value, [val.name]: e })}\n // parseDate={(str) => new Date(str)}\n format={\"y-MM-d\"}\n />{\" \"}\n \n ) : val.type === \"DATETIME\" ? (\n \n {\" \"}\n setValue({ ...value, [val.name]: e })}\n format={\"y-MM-dd h:m:s\"}\n parseDate={(str) => new Date(str)}\n />{\" \"}\n \n ) : val.type === \"TIME\" ? (\n \n {\" \"}\n setValue({ ...value, [val.name]: e })}\n // parseDate={(str) => new Date(str)}\n format={\"y-MM-dd h:m:s\"}\n />{\" \"}\n \n ) : val.type === \"BIGINT\" ? (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n ) : val.type === \"NUMERIC\" ? (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n ) : val.type === \"DECIMAL\" ? (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n ) : val.type === \"FLOAT\" ? (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n ) : val.type === \"BOOLEAN\" ? (\n \n setValue()}\n // value={selectedBooleanType}\n value={booleanTypesOptions.filter(\n (option) => option.label === selectedBooleanType[val.name]\n )}\n onChange={({ value }) =>\n setSelectedBooleanType({\n ...selectedBooleanType,\n [val.name]: value,\n })\n }\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={booleanTypesOptions}\n />\n \n ) : val.type === \"BLOB\" ? (\n \n option.label === selectedBinaryType[val.name]\n )}\n onChange={({ value }) =>\n setSelectedBinaryType({\n ...selectedBinaryType,\n [val.name]: value,\n })\n }\n required\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Type\"\n options={binaryTypesOptions}\n />\n \n ) : (\n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n )}\n {/* {errors?.name && (\n \n {errors?.name?.message}\n \n )} */}\n {\" \"}\n \n );\n });\n\n function convert(str, type) {\n var mnths = {\n Jan: \"01\",\n Feb: \"02\",\n Mar: \"03\",\n Apr: \"04\",\n May: \"05\",\n Jun: \"06\",\n Jul: \"07\",\n Aug: \"08\",\n Sep: \"09\",\n Oct: \"10\",\n Nov: \"11\",\n Dec: \"12\",\n },\n date = str.split(\" \");\n console.log(type, \"inside\", str);\n if (type === \"DATETIME\") {\n return [[date[3], mnths[date[1]], date[2]].join(\"-\"), date[4]].join(\" \");\n } else if (type === \"DATE\") {\n return [date[3], mnths[date[1]], date[2]].join(\"-\");\n } else {\n return `${date[4]}`;\n }\n }\n\n async function handleSignup(params) {\n console.log(params);\n console.log(\"see1\", selectedBooleanType);\n for (let key in columns) {\n console.log(key, columns, columns[key][\"type\"]);\n if (\n columns[key][\"type\"] === \"INTEGER\" ||\n columns[key][\"type\"] === \"Integer\" ||\n columns[key][\"type\"] === \"INT\" ||\n columns[key][\"type\"] === \"BIGINT\" ||\n columns[key][\"type\"] === \"NUMERIC\"\n ) {\n let name = columns[key][\"name\"];\n params[name] = parseInt(params[name]);\n } else if (\n columns[key][\"type\"] === \"DECIMAL\" ||\n columns[key][\"type\"] === \"FLOAT\"\n ) {\n let name = columns[key][\"name\"];\n params[name] = parseFloat(params[name]);\n } else if (columns[key][\"type\"] === \"TIME\") {\n let name = columns[key][\"name\"];\n params[name] = convert(`${value[name]}`, columns[key][\"type\"]);\n } else if (columns[key][\"type\"] === \"DATETIME\") {\n let name = columns[key][\"name\"];\n console.log(\"def1\", value.name);\n params[name] = convert(`${value[name]}`, columns[key][\"type\"]);\n } else if (columns[key][\"type\"] === \"DATE\") {\n let name = columns[key][\"name\"];\n params[name] = convert(`${value[name]}`, columns[key][\"type\"]);\n } else if (columns[key][\"type\"] === \"BOOLEAN\") {\n let name = columns[key][\"name\"];\n params[name] =\n selectedBooleanType[name] === \"true\"\n ? true\n : selectedBooleanType[name] === \"false\"\n ? false\n : selectedBooleanType[name];\n } else if (columns[key][\"type\"] === \"BLOB\") {\n let name = columns[key][\"name\"];\n params[name] = selectedBinaryType[name];\n }\n }\n console.log(params, value);\n try {\n let { data } =\n basejwt && restrictByJwt && editDataId\n ? await ApiJwt.put(\n APIURLS.getTableContentById({ app, table, editDataId }),\n {\n ...params,\n }\n )\n : basejwt && editDataId\n ? await ApiJwt.put(\n APIURLS.getTableContentById({ app, table, editDataId }),\n {\n ...params,\n }\n )\n : basejwt && restrictByJwt\n ? await ApiJwt.post(APIURLS.getTableContent({ app, table }), {\n ...params,\n })\n : basejwt && basejwt.base_table === table\n ? await Api.post(APIURLS.postRegisterTableData({ app, table }), {\n ...params,\n })\n : editDataId\n ? await Api.put(\n APIURLS.getTableContentById({ app, table, editDataId }),\n {\n ...params,\n }\n )\n : await Api.post(APIURLS.getTableContent({ app, table }), {\n ...params,\n });\n if (basejwt) {\n let jwtToken = data?.access_token;\n localStorage.setItem(\"jwtToken\", jwtToken);\n setJwtHeader(jwtToken);\n setJwtToken(jwtToken);\n await queryClient.refetchQueries([\n APIURLS.getTableContent({ app, table }),\n \"jwt_info\",\n ]);\n } else {\n await queryClient.refetchQueries([\n APIURLS.getTableContent({ app, table }),\n ]);\n }\n console.log(\"see2\", queryClient.isFetching());\n toast({\n title: \"Data Added.\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n onClose();\n console.log(\"there\", data);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n console.log(response);\n }\n }\n\n return (\n <>\n \n \n \n \n {\" \"}\n \n \n \n \n \n \n {fields}\n \n \n \n \n \n \n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default AppTableData;\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/EditDatabase.js",["694","695","696","697","698","699","700","701","702","703","704","705","706","707","708","709","710","711","712","713","714","715","716","717","718","719","720","721","722"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n} from \"../../styles\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\n// import { useQueryClient } from \"react-query\";\n// import { useToast, createStandaloneToast } from \"@chakra-ui/react\";\n// import Api, { setHeader, APIURLS } from \"../../Api\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport Select from \"react-select\";\nimport CreateTable from \"../../containers/Application/CreateTable\";\nimport CreateDatabase from \"../../containers/CreateDatabase/CreateDatabase\";\n\nconst EditDatabase = ({ isOpen, onOpen, onClose, edit }) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [selectedFieldType, setSelectedFieldType] = useState();\n\n const queryClient = useQueryClient();\n\n const onCloseHandler = () => {\n onClose();\n };\n\n return (\n <>\n \n \n \n \n {\" \"}\n \n \n \n \n \n \n \n \n \n );\n};\n\n// const CARD_ELEMENT_OPTIONS = {\n// style: {\n// base: {\n// color: \"#32325d\",\n// fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n// fontSmoothing: \"antialiased\",\n// fontSize: \"18px\",\n// \"::placeholder\": {\n// color: \"#aab7c4\",\n// },\n// },\n// invalid: {\n// color: \"#fa755a\",\n// iconColor: \"#fa755a\",\n// },\n// },\n// };\n\nexport default EditDatabase;\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/BaseJwtLogin.js",["723","724","725","726","727","728","729","730","731","732","733","734","735","736","737","738","739","740"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\n// import { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport { useGlobal } from \"reactn\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n} from \"../../styles\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setJwtHeader, APIURLS } from \"../../Api\";\nimport Select from \"react-select\";\n\nconst BaseJwtLogin = ({ isOpen, onOpen, onClose, app, table, basejwt }) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [selectedFieldType, setSelectedFieldType] = useState();\n const [jwtToken, setJwtToken] = useGlobal(\"jwtToken\");\n const queryClient = useQueryClient();\n const toast = createStandaloneToast();\n let fields = null;\n if (basejwt) {\n fields = Object.entries(basejwt?.filter_keys).map(([prop, val]) => {\n return (\n <>\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n {\" \"}\n \n );\n });\n }\n\n async function handleSignup(params) {\n console.log(params);\n try {\n console.log(\"Here\");\n let { data } = await Api.post(\n APIURLS.baseJwtLogin({ app, table }),\n params\n );\n console.log(data);\n let jwtToken = data?.access_token;\n\n localStorage.setItem(\"jwtToken\", jwtToken);\n\n setJwtHeader(jwtToken);\n setJwtToken(jwtToken);\n\n toast({\n title: \"Success\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n await queryClient.refetchQueries([\n APIURLS.getTableContent({ app, table }),\n \"jwt_info\",\n ]);\n onClose();\n console.log(\"there\", data);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n console.log(response);\n }\n }\n\n return (\n <>\n \n \n \n \n {\" \"}\n \n \n \n \n \n \n {fields}\n \n \n \n \n \n \n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default BaseJwtLogin;\n","/Users/nishantrana/Desktop/doga-frontend/src/components/Modal/AwsDeploy.js",["741","742","743","744","745","746","747","748","749","750","751","752","753","754","755"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H5,\n Input,\n Label,\n Para,\n} from \"../../styles\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { SiAmazonaws, SiHeroku } from \"react-icons/si\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS, ApiJwt } from \"../../Api\";\nimport Select from \"react-select\";\n\nconst AwsDeploy = ({\n isOpen,\n onOpen,\n onClose,\n // app,\n // columns,\n // table,\n // editDataId,\n // basejwt,\n // restrictByJwt,\n}) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [toggle, setToggle] = useState(true);\n // const queryClient = useQueryClient();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n // const { data } = useQuery([APIURLS.getContentType], {\n // enabled: !!token,\n // });\n\n // let contentTypeApps = null;\n let selectAppName = [];\n // if (data) {\n // for (let key in data) {\n // selectAppName.push({\n // value: key,\n // label: key,\n // });\n // }\n // }\n // const columnTypes = useQuery(APIURLS.getColumnTypes);\n // const contentType = useQuery([APIURLS.getContentType], {\n // enabled: !!token,\n // });\n // const { data } = useQuery(\n // [APIURLS.getTableContentById({ app, table, editDataId }), basejwt],\n // {\n // enabled: !!token,\n // }\n // );\n // console.log(data?.result);\n // const [loading, setLoading] = useState(false);\n // const [success, setSuccess] = useState(false);\n // const [apiErr, setApiErr] = useState(null);\n // const queryClient = useQueryClient();\n // const toast = createStandaloneToast();\n // console.log(restrictByJwt);\n\n async function handleSignup(params) {\n try {\n // let obj = {\n // app_name: params.app_name,\n // user_credentials: {\n // aws_username: params.aws_username,\n // aws_secret_key: params.aws_secret_key,\n // aws_access_key: params.aws_access_key,\n // },\n // config: {\n // region_name: params.region_name,\n // signature_version: params.signature_version,\n // // \"retries\": {\n // // \"max_attempts\":\"string\",\n // // \"mode\": \"string\"\n // // }\n // },\n // rds_config: {\n // Engine: params.Engine,\n // AllocatedStorage: params.AllocatedStorage,\n // DBInstanceIdentifier: params.DBInstanceIdentifier,\n // DBInstanceClass: params.DBInstanceClass,\n // MasterUsername: params.MasterUsername,\n // MasterUserPassword: params.MasterUserPassword,\n // MaxAllocatedStorage: params.MaxAllocatedStorage,\n // },\n // ec2_config: {\n // BlockDeviceMappings: [\n // {\n // DeviceName: params.DeviceName,\n // Ebs: {\n // DeleteOnTermination: params.DeleteOnTermination,\n // VolumeSize: params.VolumeSize,\n // VolumeType: params.VolumeType,\n // },\n // },\n // ],\n // InstanceType: params.InstanceType,\n // ImageId: params.ImageId,\n // },\n // };\n // let { data } = await Api.post(APIURLS.awsExport(), obj);\n let obj = {\n app_name: \"value\",\n provision_db: false,\n // \"tier\": \"hobby-dev\"\n };\n let { data } = await Api.post(APIURLS.herokuExport(), obj);\n\n toast({\n title: \"Success\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n // await queryClient.refetchQueries([\n // APIURLS.getTableContent({ app, table }),\n // \"jwt_info\",\n // ]);\n\n onClose();\n } catch ({ response }) {}\n }\n\n return (\n <>\n \n \n \n \n {\" \"}\n \n \n \n \n \n {\n setToggle(true);\n }}\n >\n \n AWS\n \n {\n setToggle(false);\n }}\n >\n {\" \"}\n Heroku\n {\" \"}\n \n \n {toggle ? (\n \n \n \n \n \n
\n Credentials\n
\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n
\n Config\n
\n\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n
\n RDS Config\n
\n \n \n \n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n
\n EC2 Config\n
\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n\n \n \n ) : (\n \n \n \n \n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n {/* \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n */}\n \n \n )}\n \n
\n
\n
\n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default AwsDeploy;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/AppHome/AppHome.js",["756","757","758","759","760","761","762","763","764","765","766","767","768","769","770","771","772","773","774","775","776","777","778","779","780","781"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n H5,\n Para,\n} from \"../../styles\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { FaUserAlt, FaDatabase } from \"react-icons/fa\";\nimport { FcAcceptDatabase } from \"react-icons/fc\";\nimport { IoAppsSharp } from \"react-icons/io5\";\nimport { SiAmazonaws } from \"react-icons/si\";\nimport { BsFillLockFill } from \"react-icons/bs\";\nimport { BsAppIndicator, BsTable } from \"react-icons/bs\";\nimport { TiExport } from \"react-icons/ti\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport { AiOutlineCloudServer } from \"react-icons/ai\";\nimport { useDisclosure } from \"@chakra-ui/react\";\nimport CreateDatabase from \"../CreateDatabase/CreateDatabase\";\nimport Application from \"../Application/Application\";\nimport AwsDeploy from \"../../components/Modal/AwsDeploy\";\nimport { useIsFetching } from \"react-query\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\nimport { Chart } from \"chart.js\";\nimport { Doughnut, Line } from \"react-chartjs-2\";\nimport { useParams } from \"react-router\";\nimport AppTableCreation from \"../../components/Modal/AppTableCreation\";\nconst AppHome = () => {\n let { app } = useParams();\n const queryClient = useQueryClient();\n const userProfile = useQuery(APIURLS.userInfo);\n const toast = createStandaloneToast();\n // const appsCreated = useQuery(APIURLS.dashboardInfo(app, all));\n const { data, isLoading } = useQuery(APIURLS.appStats(app));\n const appDocs = useQuery(APIURLS.appDocs(app));\n console.log(appDocs?.data?.unrestricted_tables[0]);\n const appData = useQuery(APIURLS.getContentType);\n\n const dbConnections = useQuery(APIURLS.getDbConnections);\n const { isOpen, onOpen, onClose } = useDisclosure();\n\n const [openModal, setOpenModal] = useState();\n const openModalHandler = (key) => {\n setOpenModal(key);\n onOpen();\n };\n const isFetching = useIsFetching();\n let labels = [];\n let dataset = [];\n let totalFields = 0;\n for (let key in data?.tables) {\n labels.push(data?.tables[key].table_name);\n dataset.push(data?.tables[key].no_fields);\n totalFields += data?.tables[key].no_fields;\n }\n\n const dataDoughnut = {\n labels: [\"Tables\", \"Relations\", \"Fields\", \"Exported\"],\n datasets: [\n {\n data: [\n data?.number_of_tables,\n data?.relationships.length || 0,\n totalFields,\n data?.deployment_info?.total_no_exports,\n ],\n backgroundColor: [\"#FF6384\", \"#36A2EB\", \"#FFCE56\", \"purple\"],\n hoverBackgroundColor: [\"#FF6384\", \"#36A2EB\", \"#FFCE56\", \"purple\"],\n },\n ],\n text: \"23%\",\n };\n // dataLine = null;\n\n const dataLine = {\n labels: labels,\n datasets: [\n {\n label: \"Number Of Fields Per Table\",\n data: dataset,\n fill: true,\n backgroundColor: \"rgba(75,192,192,0.2)\",\n borderColor: \"rgba(75,192,192,1)\",\n },\n // {\n // label: \"Fields dataset\",\n // data: [5, 7, 6, 10],\n // fill: true,\n // borderColor: \"#742774\",\n // },\n ],\n };\n\n async function exportAppHandler() {\n console.log(app);\n try {\n let { data } = await Api.post(APIURLS.exportApp(), {\n app_name: app,\n });\n\n toast({\n title: \"Data Added.\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n // onClose();\n console.log(\"there\", data);\n } catch ({ response }) {\n toast({\n title: \"An error occurred.\",\n description: response?.data?.result,\n status: \"error\",\n duration: 9000,\n isClosable: true,\n });\n console.log(response);\n }\n }\n\n let relation = null;\n // console.log(data?.relationships);\n\n if (data != null && data.relationships) {\n relation = data?.relationships.map((key) => {\n console.log(key);\n return (\n <>\n \n \n
\n {/* {\"table Name: \"} */}\n {key.relation_from.table_name}\n
\n
\n {/* {\"Field: \"} */}\n {key.relation_from.column_name}\n
\n \n {\"Relation From\"}\n \n \n \n {key.relation_type}\n \n \n \n
\n {/* {\"table Name: \"} */}\n {key.relation_to.table_name}\n
\n
\n {/* {\"Field: \"} */}\n {key.relation_to.column_name}\n
\n \n {\"Relation To\"}\n \n \n \n \n );\n });\n }\n return isLoading ? (\n \n \n \n ) : (\n <>\n {openModal === 3 ? (\n \n ) : null}\n \n \n

{app}

\n \n \n \n {/* */}\n \n \n \n \n
\n
\n\n \n \n \n \n \n \n \n
\n {data?.number_of_tables}\n
\n \n {\"Tables\"}\n \n \n \n \n \n \n \n \n \n \n
\n {data?.relationships.length || 0}\n
\n \n {\"Relations\"}\n \n \n \n \n \n \n \n \n \n \n
\n {data?.deployment_info?.total_no_exports}\n
\n \n {\"Deployed\"}\n \n \n \n \n \n\n \n \n \n {\" \"}\n {app}\n \n\n \n
Type Of Application:
\n \n {data?.type}\n \n \n \n
Database Type:
\n \n {data?.db_type}\n \n \n\n \n
Exported At:
\n \n {data?.deployment_info?.most_recent_deployment ||\n \"Not exported Yet!\"}\n \n \n \n
Deployed At:
\n \n {data?.deployment_info?.most_recent_deployment ||\n \"Not deployed yet!\"}\n \n \n \n
Deployment Platform:
\n \n {data?.deployment_info?.platform || \"Not deployed yet!\"}\n \n \n \n\n \n \n {/* \n \n {\" \"}\n \n */}\n {/* */}\n \n \n \n \n \n \n \n\n \n \n {app} {\"Relationships\"}\n \n {data?.relationships?.length ? (\n \n {relation}\n \n ) : (\n Relationships have not defined between any tables yet!\n )}\n \n {/* \n \n */}\n \n );\n};\n\nexport default AppHome;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/AppDocs/AppDocs.js",["782","783","784","785","786","787","788","789","790","791","792","793","794","795","796","797","798","799","800","801","802","803","804","805","806","807","808","809","810","811","812","813","814","815","816","817","818","819","820","821","822","823","824","825"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport Api, { setHeader, APIURLS } from \"../../Api\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n H5,\n Para,\n} from \"../../styles\";\nimport { Icon } from \"@chakra-ui/react\";\nimport {\n Accordion,\n AccordionItem,\n AccordionButton,\n AccordionPanel,\n AccordionIcon,\n} from \"@chakra-ui/react\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport { AiOutlineCloudServer } from \"react-icons/ai\";\nimport { useDisclosure } from \"@chakra-ui/react\";\nimport CreateDatabase from \"../CreateDatabase/CreateDatabase\";\nimport Application from \"../Application/Application\";\nimport AwsDeploy from \"../../components/Modal/AwsDeploy\";\nimport { useIsFetching } from \"react-query\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\nimport { Chart } from \"chart.js\";\nimport { Doughnut, Line } from \"react-chartjs-2\";\nimport { useParams } from \"react-router\";\nimport AppTableCreation from \"../../components/Modal/AppTableCreation\";\nconst AppDocs = () => {\n let { app } = useParams();\n const queryClient = useQueryClient();\n const userProfile = useQuery(APIURLS.userInfo);\n const toast = createStandaloneToast();\n // const appsCreated = useQuery(APIURLS.dashboardInfo(app, all));\n\n const { data, isLoading } = useQuery(APIURLS.appDocs(app));\n console.log(data?.locked_tables[0]);\n\n const isFetching = useIsFetching();\n\n return isLoading ? (\n \n \n \n ) : (\n <>\n \n App Docs \n \n {/*
\n Unrestricted Tables\n
*/}\n \n {data.app_type == \"JWT Authenticated\" ? (\n <>\n {/*
\n Base Table\n
*/}\n\n {data?.base_table.map((key) => {\n console.log(key.end_points);\n return (\n <>\n \n {key?.name}\n \n {key?.end_points.map((api) => {\n console.log(\"aoi\", api.request_body);\n return (\n \n

\n \n \n {\" \"}\n \n {api.request_type}\n \n \n {api.end_point}\n \n \n\n \n \n

\n \n \n
{\"Request Body\"}
\n
\n \n {key.request_body}\n {api?.request_body?.map((body) => {\n return (\n <>\n \n {\" \"}\n Name: {body.prop_name}\n Type: {body.prop_type}\n \n default: {body.prop_default || \"null\"}\n \n \n \n );\n })}\n \n \n
{\"Response Body\"}
\n
\n \n {\" \"}\n Code\n Description\n \n \n {\" \"}\n {api?.response_body?.map((res) => {\n return (\n <>\n \n {res.code}\n {res.code == 200 &&\n api.request_type == \"DELETE\" ? (\n {res.body}\n ) : res.code == 200 &&\n api.request_type != \"DELETE\" ? (\n \n \n \n {\" \"}\n Result: {res.body.result}\n \n id: {res.body.id}\n \n access_token:{\" \"}\n {res.body.access_token}\n \n \n refresh_token:{\" \"}\n {res.body.refresh_token}\n \n \n \n ) : res.code === 400 ? (\n Error \n ) : res.code === 500 ? (\n Server Error \n ) : null}\n \n \n );\n })}\n \n \n
\n );\n })}\n \n );\n })}\n \n ) : null}\n {/*
\n Unrestricted Tables\n
*/}\n\n {data?.unrestricted_tables[0].map((key) => {\n return (\n <>\n \n {key?.table_name}\n \n {key?.end_points.map((api) => {\n console.log(\"aoi\", api);\n return (\n \n

\n \n \n {\" \"}\n \n {api.request_type}\n \n \n {api.end_point}\n \n \n\n \n \n

\n \n \n
{\"Request Body\"}
\n
\n \n {\" \"}\n {api.request_body.map((body) => {\n return (\n <>\n \n {\" \"}\n Name: {body.prop_name}\n Type: {body.prop_type}\n \n default: {body.prop_default || \"null\"}\n \n \n \n );\n })}\n \n \n
{\"Response Body\"}
\n
\n \n {\" \"}\n Code\n Description\n \n \n {\" \"}\n {api.response_body.map((res) => {\n return (\n <>\n \n {res.code}\n {res.code == 200 &&\n api.request_type == \"DELETE\" ? (\n {res.body}\n ) : res.code == 200 &&\n api.request_type != \"DELETE\" ? (\n \n {res?.body?.map((body) => {\n return (\n <>\n \n Name: {body.prop_name}\n Type: {body.prop_type}\n \n default:{\" \"}\n {body.prop_default || \"null\"}\n \n \n \n );\n })}\n \n ) : res.code === 400 ? (\n Error \n ) : res.code === 500 ? (\n Server Error \n ) : null}\n \n \n );\n })}\n \n \n
\n );\n })}\n \n );\n })}\n {data.app_type == \"JWT Authenticated\" ? (\n <>\n {\" \"}\n {/*
\n Locked Tables\n
*/}\n {data?.locked_tables[0].map((key) => {\n return (\n <>\n \n {key?.table_name}\n \n {key?.end_points.map((api) => {\n console.log(\"aoi\", api);\n return (\n \n

\n \n \n {\" \"}\n \n {api.request_type}\n \n \n {api.end_point}\n \n \n\n \n \n

\n \n \n
{\"Request Body\"}
\n
\n \n {\" \"}\n {api.request_body.map((body) => {\n return (\n <>\n \n {\" \"}\n Name: {body.prop_name}\n Type: {body.prop_type}\n \n default: {body.prop_default || \"null\"}\n \n \n \n );\n })}\n \n \n
{\"Response Body\"}
\n
\n \n {\" \"}\n Code\n Description\n \n \n {\" \"}\n {api.response_body.map((res) => {\n return (\n <>\n \n {res.code}\n {res.code == 200 &&\n api.request_type == \"DELETE\" ? (\n {res.body}\n ) : res.code == 200 &&\n api.request_type != \"DELETE\" ? (\n \n {res?.body?.map((body) => {\n return (\n <>\n \n \n Name: {body.prop_name}\n \n \n Type: {body.prop_type}\n \n \n default:{\" \"}\n {body.prop_default || \"null\"}\n \n \n \n );\n })}\n \n ) : res.code === 400 ? (\n Error \n ) : res.code === 500 ? (\n Server Error \n ) : null}\n \n \n );\n })}\n \n \n
\n );\n })}\n \n );\n })}\n \n ) : null}\n
\n \n );\n};\n\nexport default AppDocs;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/AwsDeploy.js",["826","827","828","829","830","831","832","833","834","835","836","837","838","839","840","841","842","843","844","845","846","847","848","849","850","851","852","853","854","855","856"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H5,\n Input,\n Label,\n Para,\n} from \"../../styles\";\nimport { BsPlusCircleFill } from \"react-icons/bs\";\nimport { FaAws } from \"react-icons/fa\";\nimport { AiOutlineDelete } from \"react-icons/ai\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { SiAmazonaws, SiHeroku } from \"react-icons/si\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS, ApiJwt } from \"../../Api\";\nimport { useIsFetching } from \"react-query\";\nimport Select from \"react-select\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nconst AwsDeploy = (\n userCredential,\n setStep,\n userConfig,\n setUserCredential,\n rdsConfig\n // ec\n) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [toggle, setToggle] = useState(true);\n const [selectedApp, setSelectedApp] = useState();\n const [loading, setLoading] = useState(false);\n const [provisionDb, setProvisionDb] = useState();\n // const queryClient = useQueryClient();\n const isFetching = useIsFetching();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n\n const [deviceList, setDeviceList] = useState([]);\n const [instanceType, setInstanceType] = useState();\n const [imageId, setImageId] = useState();\n const [deviceName, setDeviceName] = useState();\n const [engineType, setEngineType] = useState();\n const [volumeType, setVolumeType] = useState();\n const [volumeSize, setVolumeSize] = useState();\n const [deleteOnTermination, setDeleteOnTermination] = useState();\n\n async function handleSignup(params) {\n setLoading(true);\n let obj = {\n app_name: userCredential.app_name,\n user_credentials: {\n aws_username: userCredential.user_credentials.aws_username,\n aws_secret_key: userCredential.user_credentials.aws_secret_key,\n aws_access_key: userCredential.user_credentials.aws_access_key,\n },\n config: {\n region_name: userCredential.config.region_name,\n signature_version: userCredential.config.signature_version,\n // \"retries\": {\n // \"max_attempts\":\"string\",\n // \"mode\": \"string\"\n // }\n },\n rds_config: {\n Engine: userCredential.rds_config.Engine,\n AllocatedStorage: userCredential.rds_config.AllocatedStorage,\n DBInstanceIdentifier: userCredential.rds_config.DBInstanceIdentifier,\n DBInstanceClass: userCredential.rds_config.DBInstanceClass,\n MasterUsername: userCredential.rds_config.MasterUsername,\n MasterUserPassword: userCredential.rds_config.MasterUserPassword,\n MaxAllocatedStorage: userCredential.rds_config.MaxAllocatedStorage,\n },\n ec2_config: {\n BlockDeviceMappings: deviceList,\n InstanceType: params.InstanceType,\n ImageId: params.ImageId,\n // \"ami-0885b1f6bd170450c\"\n },\n };\n console.log(obj);\n try {\n console.log(params);\n\n console.log(\"Obj\", obj);\n // setUserCredential();\n console.log(obj);\n let { data } = await Api.post(APIURLS.awsExport1(), obj);\n // toast({\n // title: \"Success\",\n // description: data?.result,\n // status: \"success\",\n // duration: 9000,\n // isClosable: false,\n // });\n\n // console.log(data);\n\n setLoading(false);\n } catch ({ response }) {\n setLoading(false);\n }\n }\n\n const addDeviceHandler = () => {\n setDeviceList([\n ...deviceList,\n {\n DeviceName: deviceName,\n Ebs: {\n DeleteOnTermination: deleteOnTermination,\n VolumeSize: volumeSize,\n VolumeType: volumeType,\n },\n },\n ]);\n // setUsername();\n // setUserEmail();\n };\n const removeDeviceHandler = (index) => {\n let newDeviceList = [];\n for (let key in deviceList) {\n console.log(deviceList[key], \"key\", key);\n if (key != index) {\n newDeviceList.push(deviceList[key]);\n }\n }\n // userList.slice(0, index).concat(userList.slice(-index));\n console.log(newDeviceList);\n setDeviceList(newDeviceList);\n // console.log(userList.splice(index, 1))\n };\n\n return loading ? (\n \n \n \n ) : (\n <>\n \n Deploy Your App on AWS\n \n \n \n \n
\n EC2 Config\n
\n \n This specifies values that need to be configured for the instances\n storage, each block device needs to be added to the list\n separately. the defaults provided:\n \n \n \n setDeviceName(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n if true all backed up sotrage and snapshots of volume are lost and\n instance cannot be reverted to it's initial AMI state.\n \n \n setDeleteOnTermination(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n VolumeSize specifies the size of the attached block device in GBs\n \n \n setVolumeSize(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n VolumeType can be one of gp3, gp2 for General purpose SSD and one\n of io2, io1 for a Provisioned IOPS SSD, more information can be\n found [at]\n \n https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html\n \n \n \n setVolumeType(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n\n \n \n \n \n {deviceList.map((key, index) => {\n // let user = Object.keys(key)[0];\n console.log(index);\n return (\n \n \n \n {/* {user} */}\n {key.DeviceName}\n \n \n removeDeviceHandler(index)}\n />\n \n \n );\n })}\n
\n \n \n \n setInstanceType(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n setImageId(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n
\n \n \n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default AwsDeploy;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/HerokuDeploy.js",["857","858","859","860","861","862","863","864","865","866","867","868","869","870","871","872","873","874","875","876","877","878","879","880","881"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H5,\n Input,\n Label,\n Para,\n} from \"../../styles\";\nimport { BsPlusCircleFill } from \"react-icons/bs\";\nimport { FaAws } from \"react-icons/fa\";\nimport { AiOutlineDelete } from \"react-icons/ai\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { SiAmazonaws, SiHeroku } from \"react-icons/si\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS, ApiJwt } from \"../../Api\";\nimport { useIsFetching } from \"react-query\";\nimport Select from \"react-select\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nconst HerokuDeploy = () => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [toggle, setToggle] = useState(true);\n const [selectedApp, setSelectedApp] = useState();\n const [loading, setLoading] = useState(false);\n const [provisionDb, setProvisionDb] = useState();\n // const queryClient = useQueryClient();\n const isFetching = useIsFetching();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n const { data } = useQuery([APIURLS.getContentType], {\n enabled: !!token,\n });\n\n let selectAppName = [];\n if (data) {\n for (let key in data) {\n selectAppName.push({\n value: key,\n label: key,\n });\n }\n }\n\n async function handleSignup(params) {\n setLoading(true);\n try {\n let obj = {\n app_name: selectedApp,\n provision_db: provisionDb,\n // \"tier\": \"hobby-dev\"\n };\n let { data } = await Api.post(APIURLS.herokuExport(), obj);\n\n toast({\n title: \"Success\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n // await queryClient.refetchQueries([\n // APIURLS.getTableContent({ app, table }),\n // \"jwt_info\",\n // ]);\n setLoading(false);\n } catch ({ response }) {\n setLoading(false);\n }\n }\n\n return loading ? (\n \n \n \n ) : (\n <>\n \n Deploy Your App on Heroku\n \n \n
\n \n \n setSelectedApp(value)}\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select App \"\n options={selectAppName}\n />\n \n \n\n \n setProvisionDb(value)}\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"provision DB\"\n options={[\n {\n value: true,\n label: \"True\",\n },\n {\n value: false,\n label: \"False\",\n },\n ]}\n />\n \n\n {/* \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n */}\n \n \n
\n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default HerokuDeploy;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/Deploy.js",["882","883","884","885","886","887","888","889","890","891","892","893","894","895","896","897"],"/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/UserCredentials.js",["898","899","900","901","902","903","904","905","906","907","908","909","910","911","912","913","914","915","916","917","918","919","920","921","922"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H5,\n Input,\n Label,\n Para,\n} from \"../../styles\";\nimport { BsPlusCircleFill } from \"react-icons/bs\";\nimport { FaAws } from \"react-icons/fa\";\nimport { AiOutlineDelete } from \"react-icons/ai\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { SiAmazonaws, SiHeroku } from \"react-icons/si\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS, ApiJwt } from \"../../Api\";\nimport { useIsFetching } from \"react-query\";\nimport Select from \"react-select\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nconst Deploy = ({ setStep, setUserConfig, setUserCredential }) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [toggle, setToggle] = useState(true);\n const [selectedApp, setSelectedApp] = useState();\n const [loading, setLoading] = useState(false);\n const [provisionDb, setProvisionDb] = useState();\n // const queryClient = useQueryClient();\n const isFetching = useIsFetching();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n const { data } = useQuery([APIURLS.getContentType], {\n enabled: !!token,\n });\n\n let selectAppName = [];\n if (data) {\n for (let key in data) {\n selectAppName.push({\n value: key,\n label: key,\n });\n }\n }\n\n async function handleSignup(params) {\n // setLoading(true);\n try {\n let obj = {\n app_name: selectedApp,\n aws_username: params.aws_username,\n aws_secret_key: params.aws_secret_key,\n aws_access_key: params.aws_access_key,\n };\n\n // let { data } = await Api.post(APIURLS.awsExport(), obj);\n setUserCredential(obj);\n let { data } = await Api.post(APIURLS.getUserCongif(), {\n aws_username: params.aws_username,\n aws_secret_key: params.aws_secret_key,\n aws_access_key: params.aws_access_key,\n });\n console.log(data);\n setUserConfig(data);\n setStep(2);\n\n // toast({\n // title: \"Success\",\n // description: data?.result,\n // status: \"success\",\n // duration: 9000,\n // isClosable: false,\n // });\n\n // setLoading(false);\n // onClose();\n } catch ({ response }) {\n // setLoading(false);\n }\n }\n\n return loading ? (\n \n \n \n ) : (\n <>\n \n Deploy Your App on AWS\n \n \n
\n \n \n \n \n setSelectedApp(value)}\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select App \"\n options={selectAppName}\n />\n \n
\n Credentials\n
\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n
\n \n
\n
\n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default Deploy;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/UserConfig.js",["923","924","925","926","927","928","929","930","931","932","933","934","935","936","937","938","939","940","941","942","943","944","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H5,\n Input,\n Label,\n Para,\n} from \"../../styles\";\nimport { BsPlusCircleFill } from \"react-icons/bs\";\nimport { FaAws } from \"react-icons/fa\";\nimport { AiOutlineDelete } from \"react-icons/ai\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { SiAmazonaws, SiHeroku } from \"react-icons/si\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS, ApiJwt } from \"../../Api\";\nimport { useIsFetching } from \"react-query\";\nimport Select from \"react-select\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nconst Deploy = ({\n userCredential,\n setStep,\n userConfig,\n setUserCredential,\n setRdsConfig,\n}) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [toggle, setToggle] = useState(true);\n const [selectedApp, setSelectedApp] = useState();\n const [selectedRegion, setSelectedRegion] = useState();\n const [loading, setLoading] = useState(false);\n const [provisionDb, setProvisionDb] = useState();\n // const queryClient = useQueryClient();\n const isFetching = useIsFetching();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n const { data } = useQuery([APIURLS.getContentType], {\n enabled: !!token,\n });\n\n console.log(userConfig.config, \"userConfig\");\n const [deviceList, setDeviceList] = useState([]);\n const [instanceType, setInstanceType] = useState();\n const [imageId, setImageId] = useState();\n const [deviceName, setDeviceName] = useState();\n const [engineType, setEngineType] = useState();\n const [volumeType, setVolumeType] = useState();\n const [volumeSize, setVolumeSize] = useState();\n const [deleteOnTermination, setDeleteOnTermination] = useState();\n console.log(userCredential);\n let selectAppName = [];\n if (data) {\n for (let key in data) {\n selectAppName.push({\n value: key,\n label: key,\n });\n }\n }\n let selectRegion = [];\n if (userConfig.config) {\n let data = userConfig.config.region_name;\n for (let key in data) {\n selectRegion.push({\n value: data[key],\n label: data[key],\n });\n }\n }\n console.log(\"selectRegion\", selectRegion);\n // const columnTypes = useQuery(APIURLS.getColumnTypes);\n // const contentType = useQuery([APIURLS.getContentType], {\n // enabled: !!token,\n // });\n // const { data } = useQuery(\n // [APIURLS.getTableContentById({ app, table, editDataId }), basejwt],\n // {\n // enabled: !!token,\n // }\n // );\n // console.log(data?.result);\n // const [loading, setLoading] = useState(false);\n // const [success, setSuccess] = useState(false);\n // const [apiErr, setApiErr] = useState(null);\n // const queryClient = useQueryClient();\n // const toast = createStandaloneToast();\n // console.log(restrictByJwt);\n\n async function handleSignup(params) {\n setLoading(true);\n try {\n let obj = {\n app_name: userCredential.app_name,\n user_credentials: {\n aws_username: userCredential.aws_username,\n aws_secret_key: userCredential.aws_secret_key,\n aws_access_key: userCredential.aws_access_key,\n },\n config: {\n region_name: selectedRegion,\n signature_version: params.signature_version,\n // \"retries\": {\n // \"max_attempts\":\"string\",\n // \"mode\": \"string\"\n // }\n },\n };\n console.log(obj);\n setUserCredential(obj);\n let { data } = await Api.post(APIURLS.getUserRdsCongif(), {\n aws_username: params.aws_username,\n aws_secret_key: params.aws_secret_key,\n aws_access_key: params.aws_access_key,\n });\n console.log(data);\n setRdsConfig(data);\n setStep(3);\n setLoading(false);\n // let { data } = await Api.post(APIURLS.awsExport(), obj);\n } catch ({ response }) {\n setLoading(false);\n }\n }\n\n return loading ? (\n \n \n \n ) : (\n <>\n \n Deploy Your App on AWS\n \n \n
\n \n \n
\n Config\n
\n\n \n \n This indicates the region where the EC2 instance as well as RDS\n will be created in, please ensure you choose a region that has\n SSM, RDS and EC2 services.\n {/* Detialed information of the services can be found\n[on amazons webpage](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/]) */}\n \n\n \n setSelectedRegion(value)}\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select App \"\n options={selectRegion}\n />\n
\n\n \n \n This outlines the method used by AWS for authenticating\n requests. Version 4 is the most stable and reccomended protocol.\n {/* Detialed information of the services can be found\n[on amazons webpage](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/]) */}\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n
\n \n
\n
\n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default Deploy;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Plugins/Twilio.js",["964","965","966","967","968","969","970","971","972","973","974","975","976","977","978","979","980","981","982","983","984","985","986","987","988","989","990"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H5,\n Input,\n Label,\n Para,\n} from \"../../styles\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { MdEmail, MdTextsms } from \"react-icons/md\";\nimport { BsPlusCircleFill } from \"react-icons/bs\";\nimport { FaUser } from \"react-icons/fa\";\nimport { AiOutlineDelete } from \"react-icons/ai\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS, ApiJwt } from \"../../Api\";\nimport Select from \"react-select\";\n\nconst Notify = (props) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [toggle, setToggle] = useState(true);\n const [username, setUsername] = useState();\n const [userEmail, setUserEmail] = useState();\n const [userList, setUserList] = useState([]);\n // const queryClient = useQueryClient();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n const { data } = useQuery([APIURLS.getContentType], {\n enabled: !!token,\n });\n console.log(username, \"user\", userEmail);\n // let contentTypeApps = null;\n let selectAppName = [];\n if (data) {\n for (let key in data) {\n selectAppName.push({\n value: key,\n label: key,\n });\n }\n }\n\n async function handleSignup(params) {\n try {\n if (toggle) {\n let obj = {\n _from: params._from,\n api_key: params.api_key,\n to_emails: userList,\n template_key: params.template_key,\n subject: params.subject,\n content: params.content,\n };\n let { data } = await Api.post(APIURLS.emailNotify(), obj);\n } else {\n let obj = {\n account_sid: params.account_sid,\n auth_token: params.auth_token,\n _from: params._from,\n to_emails: userList,\n message: params.message,\n // \"tier\": \"hobby-dev\"\n };\n let { data } = await Api.post(APIURLS.smsNotify(), obj);\n }\n\n toast({\n title: \"Success\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n // await queryClient.refetchQueries([\n // APIURLS.getTableContent({ app, table }),\n // \"jwt_info\",\n // ]);\n\n // onClose();\n } catch ({ response }) {}\n }\n const addUserHandler = () => {\n setUserList([...userList, { [username]: userEmail }]);\n setUsername();\n setUserEmail();\n };\n const removeUserHandler = (index) => {\n let newUserList = [];\n for (let key in userList) {\n console.log(userList[key], \"key\", key);\n if (key != index) {\n newUserList.push(userList[key]);\n }\n }\n // userList.slice(0, index).concat(userList.slice(-index));\n console.log(newUserList);\n setUserList(newUserList);\n // console.log(userList.splice(index, 1))\n };\n\n console.log(\"list\", userList);\n return (\n <>\n \n TWILIO\n \n\n \n \n
\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n
\n
\n \n \n \n setUsername(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n setUserEmail(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n \n {userList.map((key, index) => {\n let user = Object.keys(key)[0];\n console.log(index);\n return (\n \n \n \n {/* {user} */}\n {key[user]}\n \n \n removeUserHandler(index)}\n />\n \n \n );\n })}\n \n \n \n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default Notify;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Plugins/Sendgrid.js",["991","992","993","994","995","996","997","998","999","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H5,\n Input,\n Label,\n Para,\n} from \"../../styles\";\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { MdEmail, MdTextsms } from \"react-icons/md\";\nimport { BsPlusCircleFill } from \"react-icons/bs\";\nimport { FaUser } from \"react-icons/fa\";\nimport { AiOutlineDelete } from \"react-icons/ai\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS, ApiJwt } from \"../../Api\";\nimport Select from \"react-select\";\n\nconst Sendgrid = (props) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [toggle, setToggle] = useState(true);\n const [username, setUsername] = useState();\n const [userEmail, setUserEmail] = useState();\n const [userList, setUserList] = useState([]);\n // const queryClient = useQueryClient();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n const { data } = useQuery([APIURLS.getContentType], {\n enabled: !!token,\n });\n console.log(username, \"user\", userEmail);\n // let contentTypeApps = null;\n let selectAppName = [];\n if (data) {\n for (let key in data) {\n selectAppName.push({\n value: key,\n label: key,\n });\n }\n }\n\n async function handleSignup(params) {\n try {\n if (toggle) {\n let obj = {\n _from: params._from,\n api_key: params.api_key,\n to_emails: userList,\n template_key: params.template_key,\n subject: params.subject,\n content: params.content,\n };\n let { data } = await Api.post(APIURLS.emailNotify(), obj);\n } else {\n let obj = {\n account_sid: params.account_sid,\n auth_token: params.auth_token,\n _from: params._from,\n to_emails: userList,\n message: params.message,\n // \"tier\": \"hobby-dev\"\n };\n let { data } = await Api.post(APIURLS.smsNotify(), obj);\n }\n\n toast({\n title: \"Success\",\n description: data?.result,\n status: \"success\",\n duration: 9000,\n isClosable: false,\n });\n // await queryClient.refetchQueries([\n // APIURLS.getTableContent({ app, table }),\n // \"jwt_info\",\n // ]);\n\n // onClose();\n } catch ({ response }) {}\n }\n const addUserHandler = () => {\n setUserList([...userList, { [username]: userEmail }]);\n setUsername();\n setUserEmail();\n };\n const removeUserHandler = (index) => {\n let newUserList = [];\n for (let key in userList) {\n console.log(userList[key], \"key\", key);\n if (key != index) {\n newUserList.push(userList[key]);\n }\n }\n // userList.slice(0, index).concat(userList.slice(-index));\n console.log(newUserList);\n setUserList(newUserList);\n // console.log(userList.splice(index, 1))\n };\n\n console.log(\"list\", userList);\n return (\n <>\n \n SENDGRID\n \n \n \n
\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n\n \n
\n
\n\n \n \n \n setUsername(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n setUserEmail(e.target.value)}\n />\n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n \n {userList.map((key, index) => {\n let user = Object.keys(key)[0];\n console.log(index);\n return (\n \n \n \n {/* {user} */}\n {key[user]}\n \n \n removeUserHandler(index)}\n />\n \n \n );\n })}\n \n \n \n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default Sendgrid;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/RdsConfig.js",["1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1060","1061","1062"],"import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useGlobal } from \"reactn\";\nimport { NavLink } from \"react-router-dom\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H5,\n Input,\n Label,\n Para,\n} from \"../../styles\";\nimport { BsPlusCircleFill } from \"react-icons/bs\";\nimport { FaAws } from \"react-icons/fa\";\nimport { AiOutlineDelete } from \"react-icons/ai\";\nimport { Icon } from \"@chakra-ui/react\";\nimport { SiAmazonaws, SiHeroku } from \"react-icons/si\";\nimport { useQuery, useQueryClient } from \"react-query\";\nimport { useToast, createStandaloneToast } from \"@chakra-ui/react\";\nimport Api, { setHeader, APIURLS, ApiJwt } from \"../../Api\";\nimport { useIsFetching } from \"react-query\";\nimport Select from \"react-select\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\nconst RdsConfig = ({\n userCredential,\n setStep,\n userConfig,\n setUserCredential,\n rdsConfig,\n setEc2Config,\n}) => {\n const [token] = useGlobal(\"token\");\n const { handleSubmit, register, errors } = useForm();\n const [toggle, setToggle] = useState(true);\n const [selectedApp, setSelectedApp] = useState();\n const [selectedRds, setSelectedRds] = useState();\n const [loading, setLoading] = useState(false);\n const [provisionDb, setProvisionDb] = useState();\n // const queryClient = useQueryClient();\n const isFetching = useIsFetching();\n const toast = createStandaloneToast();\n const queryClient = useQueryClient();\n // const { data } = useQuery([APIURLS.getContentType], {\n // enabled: !!token,\n // });\n\n console.log(userConfig.config, \"userConfig\");\n const [deviceList, setDeviceList] = useState([]);\n const [instanceType, setInstanceType] = useState();\n const [imageId, setImageId] = useState();\n const [deviceName, setDeviceName] = useState();\n const [engineType, setEngineType] = useState();\n const [volumeType, setVolumeType] = useState();\n const [volumeSize, setVolumeSize] = useState();\n const [deleteOnTermination, setDeleteOnTermination] = useState();\n console.log(userCredential);\n // let selectAppName = [];\n // if (data) {\n // for (let key in data) {\n // selectAppName.push({\n // value: key,\n // label: key,\n // });\n // }\n // }\n let selectRds = [];\n if (rdsConfig.rds_config) {\n let data = rdsConfig.rds_config.Engine;\n for (let key in data) {\n selectRds.push({\n value: data[key],\n label: data[key],\n });\n }\n }\n console.log(\"selectRegion\", selectRds);\n // const columnTypes = useQuery(APIURLS.getColumnTypes);\n // const contentType = useQuery([APIURLS.getContentType], {\n // enabled: !!token,\n // });\n // const { data } = useQuery(\n // [APIURLS.getTableContentById({ app, table, editDataId }), basejwt],\n // {\n // enabled: !!token,\n // }\n // );\n // console.log(data?.result);\n // const [loading, setLoading] = useState(false);\n // const [success, setSuccess] = useState(false);\n // const [apiErr, setApiErr] = useState(null);\n // const queryClient = useQueryClient();\n // const toast = createStandaloneToast();\n // console.log(restrictByJwt);\n\n async function handleSignup(params) {\n setLoading(true);\n try {\n let obj = {\n app_name: userCredential.app_name,\n user_credentials: {\n aws_username: userCredential.user_credentials.aws_username,\n aws_secret_key: userCredential.user_credentials.aws_secret_key,\n aws_access_key: userCredential.user_credentials.aws_access_key,\n },\n config: {\n region_name: userCredential.config.region_name,\n signature_version: userCredential.config.signature_version,\n // \"retries\": {\n // \"max_attempts\":\"string\",\n // \"mode\": \"string\"\n // }\n },\n rds_config: {\n Engine: selectedRds,\n AllocatedStorage: parseInt(params.AllocatedStorage),\n DBInstanceIdentifier: params.DBInstanceIdentifier,\n DBInstanceClass: params.DBInstanceClass,\n MasterUsername: params.MasterUsername,\n MasterUserPassword: params.MasterUserPassword,\n MaxAllocatedStorage: parseInt(params.MaxAllocatedStorage),\n },\n };\n console.log(obj);\n setUserCredential(obj);\n // let { data } = await Api.post(APIURLS.getUserEc2Congif(), {\n // aws_username: params.aws_username,\n // aws_secret_key: params.aws_secret_key,\n // aws_access_key: params.aws_access_key,\n // });\n // console.log(data);\n // setEc2Config(data);\n setStep(4);\n setLoading(false);\n // let { data } = await Api.post(APIURLS.awsExport(), obj);\n } catch ({ response }) {\n setLoading(false);\n }\n }\n\n return loading ? (\n \n \n \n ) : (\n <>\n \n Deploy Your App on AWS\n \n \n
\n \n \n
\n RDS Config\n
\n\n \n \n AWS provides users a hassle free way to configure remote data\n storage for relational database stores through this service. The\n users may chose from an array of options.\n \n\n \n setSelectedRds(value)}\n theme={CARD_ELEMENT_OPTIONS}\n placeholder=\"Select Engine\"\n options={selectRds}\n />\n
\n\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n Name of the DB to be given by the user the default should be app\n name\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n depending on the region and the engine chosen, AWS will allow\n userschose form an array different machines with different\n hardware configurations. Refer to this doc for further details.\n \n https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html\n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n\n \n \n The admin username for the master user of the RDS instace.\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n The admin password for the master user of the RDS instace.\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n Minimum storage allocated in GB's minimum is 20 similarly max is\n 1634\n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n\n {/*
*/}\n \n \n \n
\n
\n \n );\n};\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: \"#32325d\",\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: \"antialiased\",\n fontSize: \"18px\",\n \"::placeholder\": {\n color: \"#aab7c4\",\n },\n },\n invalid: {\n color: \"#fa755a\",\n iconColor: \"#fa755a\",\n },\n },\n};\n\nexport default RdsConfig;\n","/Users/nishantrana/Desktop/doga-frontend/src/containers/Deploy/Aws.js",["1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1074","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094"],"/Users/nishantrana/Desktop/doga-frontend/src/containers/Application/CreateTableName.js",["1095","1096","1097","1098","1099","1100","1101","1102"],"import React, { useState, useEffect } from \"react\";\nimport {\n Box,\n ResponsiveImage,\n Image,\n Button,\n StyledLink,\n Span,\n MotionBox,\n H2,\n H1,\n Input,\n Label,\n} from \"../../styles\";\nimport { useForm } from \"react-hook-form\";\n\nconst CreateTableName = ({ setStep, setTableName, setNewStep, step }) => {\n const { handleSubmit, register, errors } = useForm();\n\n async function handleSignup(params) {\n setTableName(params.tableName);\n if (step) {\n setStep(4);\n } else {\n setNewStep(2);\n }\n }\n\n return (\n <>\n \n \n \n Create New Table \n {/* */}\n \n\n \n \n \n \n \n\n {errors?.name && (\n \n {errors?.name?.message}\n \n )}\n \n \n \n \n {/* */}\n \n \n \n );\n};\n\nexport default CreateTableName;\n","/Users/nishantrana/Desktop/doga/doga-frontend/src/index.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/reportWebVitals.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/App.js",["1103","1104","1105","1106","1107","1108","1109","1110","1111","1112"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/styles/theme.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/Api.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Sidebar/Sidebar.js",["1113"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Header/Header.js",["1114","1115","1116"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Login/Login.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Dashboard/Dashboard.js",["1117"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Signup/Signup.js",["1118","1119","1120"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/CreateDatabase/CreateDatabase.js",["1121","1122","1123"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Database/Database.js",["1124"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/Application.js",["1125","1126","1127"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/Content.js",["1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/AppHome/AppHome.js",["1139"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Plugins/Twilio.js",["1140","1141","1142"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/Deploy.js",["1143","1144","1145"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/HerokuDeploy.js",["1146","1147","1148","1149"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/AppDocs/AppDocs.js",["1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Plugins/Sendgrid.js",["1164"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/styles/index.js",["1165","1166","1167"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/Aws.js",["1168","1169","1170","1171","1172","1173","1174","1175","1176","1177"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/UserCredentials.js",["1178","1179","1180","1181"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/RdsConfig.js",["1182","1183","1184","1185"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Deploy/UserConfig.js",["1186"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/AppTableCreation.js",["1187","1188","1189"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/BaseJwtLogin.js",["1190","1191","1192","1193"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/ContentField.js",["1194","1195","1196","1197","1198","1199","1200","1201","1202"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/CreateTableName.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/CreateTable.js",["1203","1204","1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/AppTableData.js",["1217","1218","1219","1220","1221","1222","1223","1224","1225","1226"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/CreateAppName.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/Application/ApplicationNext.js",["1227","1228","1229","1230","1231","1232","1233","1234","1235","1236","1237","1238","1239","1240","1241","1242","1243","1244","1245","1246","1247","1248","1249","1250","1251","1252","1253"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/EditDatabase.js",["1254","1255","1256","1257","1258","1259","1260","1261","1262","1263","1264","1265","1266","1267","1268","1269","1270","1271","1272","1273","1274","1275","1276","1277","1278","1279","1280","1281","1282"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/RichTextView.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/ImageUploadSelect/ImageUploadSelect.js",["1283","1284","1285","1286","1287","1288","1289","1290","1291","1292","1293","1294","1295","1296","1297","1298","1299","1300","1301","1302"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Modal/ImageView.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/containers/AppHome/DoughnutChart.js",[],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Sidebar/Tabs.js/Tabs.js",["1303","1304"],"/Users/nishantrana/Desktop/doga/doga-frontend/src/components/Sidebar/Tabs.js/DropableTabs.js",[],{"ruleId":"1305","replacedBy":"1306"},{"ruleId":"1307","replacedBy":"1308"},{"ruleId":"1309","severity":1,"message":"1310","line":1,"column":38,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":46},{"ruleId":"1309","severity":1,"message":"1313","line":2,"column":25,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1314","line":6,"column":44,"nodeType":"1311","messageId":"1312","endLine":6,"endColumn":52},{"ruleId":"1309","severity":1,"message":"1315","line":10,"column":8,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1316","line":13,"column":15,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1317","line":17,"column":10,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1318","line":34,"column":7,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":14},{"ruleId":"1319","severity":1,"message":"1320","line":126,"column":6,"nodeType":"1321","endLine":126,"endColumn":8,"suggestions":"1322"},{"ruleId":"1319","severity":1,"message":"1323","line":135,"column":6,"nodeType":"1321","endLine":135,"endColumn":55,"suggestions":"1324"},{"ruleId":"1319","severity":1,"message":"1325","line":135,"column":25,"nodeType":"1326","endLine":135,"endColumn":54},{"ruleId":"1319","severity":1,"message":"1327","line":143,"column":6,"nodeType":"1321","endLine":143,"endColumn":64,"suggestions":"1328"},{"ruleId":"1319","severity":1,"message":"1325","line":143,"column":31,"nodeType":"1326","endLine":143,"endColumn":63},{"ruleId":"1309","severity":1,"message":"1329","line":18,"column":3,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":18},{"ruleId":"1330","severity":1,"message":"1331","line":116,"column":9,"nodeType":"1332","messageId":"1333","endLine":116,"endColumn":16},{"ruleId":"1330","severity":1,"message":"1334","line":347,"column":5,"nodeType":"1332","messageId":"1333","endLine":347,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":17,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1336","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1337","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":16,"column":3,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1316","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1341","line":18,"column":3,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1342","line":28,"column":16,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1343","line":30,"column":8,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1344","line":36,"column":3,"nodeType":"1311","messageId":"1312","endLine":36,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1345","line":38,"column":3,"nodeType":"1311","messageId":"1312","endLine":38,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1346","line":39,"column":3,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1347","line":40,"column":3,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1317","line":44,"column":10,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":45,"column":15,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1349","line":50,"column":3,"nodeType":"1311","messageId":"1312","endLine":50,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1350","line":59,"column":11,"nodeType":"1311","messageId":"1312","endLine":59,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1351","line":59,"column":19,"nodeType":"1311","messageId":"1312","endLine":59,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1352","line":59,"column":27,"nodeType":"1311","messageId":"1312","endLine":59,"endColumn":34},{"ruleId":"1309","severity":1,"message":"1353","line":63,"column":17,"nodeType":"1311","messageId":"1312","endLine":63,"endColumn":24},{"ruleId":"1354","severity":1,"message":"1355","line":355,"column":23,"nodeType":"1356","endLine":355,"endColumn":44},{"ruleId":"1309","severity":1,"message":"1357","line":480,"column":10,"nodeType":"1311","messageId":"1312","endLine":480,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1358","line":482,"column":10,"nodeType":"1311","messageId":"1312","endLine":482,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":17,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1337","line":5,"column":3,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":6,"column":3,"nodeType":"1311","messageId":"1312","endLine":6,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1359","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":9},{"ruleId":"1309","severity":1,"message":"1339","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1358","line":13,"column":10,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1316","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1348","line":18,"column":15,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1358","line":26,"column":10,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1360","line":30,"column":18,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1337","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1316","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1361","line":21,"column":10,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1317","line":25,"column":10,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1314","line":26,"column":10,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1362","line":26,"column":20,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":34},{"ruleId":"1309","severity":1,"message":"1339","line":1,"column":40,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":50},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1363","line":2,"column":10,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1364","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1365","line":5,"column":8,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":5,"column":15,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1337","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1366","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1316","line":16,"column":3,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1367","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1368","line":18,"column":3,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1369","line":19,"column":3,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1370","line":22,"column":10,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1361","line":23,"column":10,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1371","line":23,"column":21,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1372","line":24,"column":10,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1373","line":25,"column":10,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1374","line":26,"column":10,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1375","line":28,"column":8,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1376","line":29,"column":8,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1377","line":30,"column":8,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1378","line":35,"column":9,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1350","line":41,"column":11,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1352","line":41,"column":27,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":34},{"ruleId":"1309","severity":1,"message":"1379","line":43,"column":10,"nodeType":"1311","messageId":"1312","endLine":43,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1380","line":44,"column":9,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1381","line":48,"column":9,"nodeType":"1311","messageId":"1312","endLine":48,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1383","line":19,"column":3,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1384","line":20,"column":3,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1385","line":21,"column":3,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1386","line":22,"column":3,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1387","line":23,"column":3,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1388","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1389","line":25,"column":3,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1317","line":29,"column":10,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":30,"column":15,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1358","line":34,"column":10,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1390","line":37,"column":10,"nodeType":"1311","messageId":"1312","endLine":37,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1391","line":37,"column":19,"nodeType":"1311","messageId":"1312","endLine":37,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1360","line":38,"column":18,"nodeType":"1311","messageId":"1312","endLine":38,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1392","line":43,"column":17,"nodeType":"1311","messageId":"1312","endLine":43,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1393","line":48,"column":13,"nodeType":"1311","messageId":"1312","endLine":48,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":17,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1361","line":5,"column":10,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1394","line":5,"column":21,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1395","line":7,"column":22,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1396","line":8,"column":10,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1397","line":9,"column":10,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1398","line":11,"column":10,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1399","line":11,"column":16,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1400","line":12,"column":10,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1401","line":12,"column":18,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1402","line":15,"column":10,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1337","line":22,"column":3,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1359","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":9},{"ruleId":"1309","severity":1,"message":"1339","line":25,"column":3,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":26,"column":3,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1316","line":27,"column":3,"nodeType":"1311","messageId":"1312","endLine":27,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1341","line":28,"column":3,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1369","line":29,"column":3,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1362","line":33,"column":20,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":34},{"ruleId":"1309","severity":1,"message":"1403","line":34,"column":10,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1404","line":34,"column":18,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1365","line":35,"column":8,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1405","line":50,"column":9,"nodeType":"1311","messageId":"1312","endLine":50,"endColumn":29},{"ruleId":"1406","severity":1,"message":"1407","line":59,"column":63,"nodeType":"1408","messageId":"1333","endLine":59,"endColumn":65},{"ruleId":"1309","severity":1,"message":"1310","line":1,"column":17,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1363","line":2,"column":10,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1364","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1409","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1365","line":15,"column":8,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":15,"column":15,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1363","line":2,"column":10,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1364","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1409","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1337","line":16,"column":3,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1359","line":18,"column":3,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":9},{"ruleId":"1309","severity":1,"message":"1339","line":19,"column":3,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":20,"column":3,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1316","line":21,"column":3,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1369","line":23,"column":3,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1366","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1344","line":32,"column":3,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1410","line":33,"column":3,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1345","line":34,"column":3,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1346","line":35,"column":3,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1347","line":36,"column":3,"nodeType":"1311","messageId":"1312","endLine":36,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1411","line":37,"column":3,"nodeType":"1311","messageId":"1312","endLine":37,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1375","line":40,"column":8,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1370","line":41,"column":10,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1412","line":42,"column":10,"nodeType":"1311","messageId":"1312","endLine":42,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1365","line":45,"column":8,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":45,"column":15,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1413","line":46,"column":8,"nodeType":"1311","messageId":"1312","endLine":46,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1414","line":50,"column":10,"nodeType":"1311","messageId":"1312","endLine":50,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1350","line":51,"column":11,"nodeType":"1311","messageId":"1312","endLine":51,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1415","line":56,"column":9,"nodeType":"1311","messageId":"1312","endLine":56,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1416","line":60,"column":9,"nodeType":"1311","messageId":"1312","endLine":60,"endColumn":23},{"ruleId":"1406","severity":1,"message":"1407","line":151,"column":53,"nodeType":"1408","messageId":"1333","endLine":151,"endColumn":55},{"ruleId":"1309","severity":1,"message":"1341","line":2,"column":15,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1359","line":2,"column":19,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1417","line":2,"column":27,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1418","line":4,"column":8,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1314","line":8,"column":10,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1335","line":10,"column":10,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1419","line":16,"column":10,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1420","line":16,"column":16,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1421","line":17,"column":10,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1422","line":17,"column":17,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1378","line":18,"column":9,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1423","line":19,"column":30,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":51},{"ruleId":"1309","severity":1,"message":"1424","line":22,"column":10,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1425","line":22,"column":21,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1341","line":2,"column":15,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1383","line":4,"column":3,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1384","line":5,"column":3,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1385","line":6,"column":3,"nodeType":"1311","messageId":"1312","endLine":6,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1386","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1387","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1388","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1389","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1365","line":13,"column":8,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":13,"column":15,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1426","line":16,"column":3,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1427","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1428","line":18,"column":3,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1429","line":19,"column":3,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1344","line":20,"column":3,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1410","line":21,"column":3,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1345","line":22,"column":3,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1346","line":23,"column":3,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1347","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1411","line":25,"column":3,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1430","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1431","line":30,"column":19,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1353","line":31,"column":10,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1432","line":31,"column":19,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":29},{"ruleId":"1433","severity":1,"message":"1434","line":43,"column":5,"nodeType":"1435","messageId":"1436","endLine":48,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":52,"column":5,"nodeType":"1435","messageId":"1436","endLine":57,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":61,"column":5,"nodeType":"1435","messageId":"1436","endLine":66,"endColumn":6},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1364","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1317","line":37,"column":10,"nodeType":"1311","messageId":"1312","endLine":37,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":38,"column":15,"nodeType":"1311","messageId":"1312","endLine":38,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1437","line":41,"column":10,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1390","line":58,"column":10,"nodeType":"1311","messageId":"1312","endLine":58,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1391","line":58,"column":19,"nodeType":"1311","messageId":"1312","endLine":58,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1438","line":60,"column":10,"nodeType":"1311","messageId":"1312","endLine":60,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1439","line":60,"column":21,"nodeType":"1311","messageId":"1312","endLine":60,"endColumn":33},{"ruleId":"1433","severity":1,"message":"1434","line":125,"column":5,"nodeType":"1435","messageId":"1436","endLine":130,"endColumn":6},{"ruleId":"1309","severity":1,"message":"1440","line":191,"column":9,"nodeType":"1311","messageId":"1312","endLine":191,"endColumn":26},{"ruleId":"1406","severity":1,"message":"1407","line":259,"column":36,"nodeType":"1408","messageId":"1333","endLine":259,"endColumn":38},{"ruleId":"1406","severity":1,"message":"1407","line":276,"column":36,"nodeType":"1408","messageId":"1333","endLine":276,"endColumn":38},{"ruleId":"1406","severity":1,"message":"1407","line":285,"column":51,"nodeType":"1408","messageId":"1333","endLine":285,"endColumn":53},{"ruleId":"1433","severity":1,"message":"1434","line":429,"column":5,"nodeType":"1435","messageId":"1436","endLine":435,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":488,"column":5,"nodeType":"1435","messageId":"1436","endLine":499,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":503,"column":5,"nodeType":"1435","messageId":"1436","endLine":508,"endColumn":6},{"ruleId":"1309","severity":1,"message":"1441","line":590,"column":9,"nodeType":"1311","messageId":"1312","endLine":590,"endColumn":26},{"ruleId":"1406","severity":1,"message":"1407","line":637,"column":15,"nodeType":"1408","messageId":"1333","endLine":637,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1337","line":4,"column":3,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":5,"column":3,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1316","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1341","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1369","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1417","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1317","line":37,"column":10,"nodeType":"1311","messageId":"1312","endLine":37,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1442","line":52,"column":9,"nodeType":"1311","messageId":"1312","endLine":52,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1443","line":67,"column":18,"nodeType":"1311","messageId":"1312","endLine":67,"endColumn":34},{"ruleId":"1309","severity":1,"message":"1444","line":167,"column":9,"nodeType":"1311","messageId":"1312","endLine":167,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1393","line":171,"column":15,"nodeType":"1311","messageId":"1312","endLine":171,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1393","line":175,"column":15,"nodeType":"1311","messageId":"1312","endLine":175,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1445","line":335,"column":7,"nodeType":"1311","messageId":"1312","endLine":335,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1446","line":336,"column":5,"nodeType":"1311","messageId":"1312","endLine":336,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1447","line":347,"column":7,"nodeType":"1311","messageId":"1312","endLine":347,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1448","line":353,"column":7,"nodeType":"1311","messageId":"1312","endLine":353,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1310","line":1,"column":17,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1337","line":4,"column":3,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":5,"column":3,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1449","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1450","line":4,"column":20,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1382","line":5,"column":10,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1387","line":25,"column":3,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1370","line":33,"column":10,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1317","line":35,"column":10,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":36,"column":15,"nodeType":"1311","messageId":"1312","endLine":36,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1358","line":48,"column":10,"nodeType":"1311","messageId":"1312","endLine":48,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1451","line":60,"column":10,"nodeType":"1311","messageId":"1312","endLine":60,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1452","line":60,"column":17,"nodeType":"1311","messageId":"1312","endLine":60,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1453","line":65,"column":9,"nodeType":"1311","messageId":"1312","endLine":65,"endColumn":20},{"ruleId":"1433","severity":1,"message":"1434","line":104,"column":5,"nodeType":"1435","messageId":"1436","endLine":109,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":114,"column":5,"nodeType":"1435","messageId":"1436","endLine":119,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":134,"column":5,"nodeType":"1435","messageId":"1436","endLine":139,"endColumn":6},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1359","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":9},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1367","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1387","line":23,"column":3,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1370","line":28,"column":10,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1314","line":29,"column":10,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1454","line":30,"column":20,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1365","line":31,"column":8,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":31,"column":15,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1455","line":31,"column":26,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1456","line":32,"column":8,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1358","line":48,"column":10,"nodeType":"1311","messageId":"1312","endLine":48,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1457","line":49,"column":11,"nodeType":"1311","messageId":"1312","endLine":49,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1458","line":49,"column":25,"nodeType":"1311","messageId":"1312","endLine":49,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1459","line":49,"column":35,"nodeType":"1311","messageId":"1312","endLine":49,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1460","line":50,"column":10,"nodeType":"1311","messageId":"1312","endLine":50,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1461","line":50,"column":29,"nodeType":"1311","messageId":"1312","endLine":50,"endColumn":49},{"ruleId":"1309","severity":1,"message":"1378","line":53,"column":9,"nodeType":"1311","messageId":"1312","endLine":53,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1387","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1370","line":28,"column":10,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1317","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":31,"column":15,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1460","line":47,"column":10,"nodeType":"1311","messageId":"1312","endLine":47,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1461","line":47,"column":29,"nodeType":"1311","messageId":"1312","endLine":47,"endColumn":49},{"ruleId":"1309","severity":1,"message":"1462","line":51,"column":10,"nodeType":"1311","messageId":"1312","endLine":51,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1463","line":54,"column":9,"nodeType":"1311","messageId":"1312","endLine":54,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1453","line":55,"column":9,"nodeType":"1311","messageId":"1312","endLine":55,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1381","line":58,"column":17,"nodeType":"1311","messageId":"1312","endLine":58,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1358","line":71,"column":9,"nodeType":"1311","messageId":"1312","endLine":71,"endColumn":14},{"ruleId":"1464","severity":1,"message":"1465","line":71,"column":59,"nodeType":"1466","messageId":"1467","endLine":71,"endColumn":61},{"ruleId":"1319","severity":1,"message":"1468","line":96,"column":6,"nodeType":"1321","endLine":96,"endColumn":8,"suggestions":"1469"},{"ruleId":"1309","severity":1,"message":"1470","line":128,"column":9,"nodeType":"1311","messageId":"1312","endLine":128,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1471","line":6,"column":3,"nodeType":"1311","messageId":"1312","endLine":6,"endColumn":6},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1359","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":9},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1367","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1387","line":23,"column":3,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1370","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1314","line":31,"column":10,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":32,"column":10,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1454","line":32,"column":20,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1365","line":33,"column":8,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":33,"column":15,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1455","line":33,"column":26,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1456","line":34,"column":8,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1445","line":35,"column":8,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1358","line":39,"column":10,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1457","line":40,"column":11,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1458","line":40,"column":25,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1459","line":40,"column":35,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1460","line":41,"column":10,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1461","line":41,"column":29,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":49},{"ruleId":"1309","severity":1,"message":"1378","line":43,"column":9,"nodeType":"1311","messageId":"1312","endLine":43,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1387","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1370","line":28,"column":10,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1314","line":29,"column":10,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1456","line":32,"column":8,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1358","line":35,"column":10,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1460","line":37,"column":10,"nodeType":"1311","messageId":"1312","endLine":37,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1461","line":37,"column":29,"nodeType":"1311","messageId":"1312","endLine":37,"endColumn":49},{"ruleId":"1309","severity":1,"message":"1462","line":38,"column":10,"nodeType":"1311","messageId":"1312","endLine":38,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1472","line":141,"column":7,"nodeType":"1311","messageId":"1312","endLine":141,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1417","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1387","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1314","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":31,"column":10,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":32,"column":15,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1473","line":32,"column":35,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1358","line":46,"column":10,"nodeType":"1311","messageId":"1312","endLine":46,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1378","line":51,"column":9,"nodeType":"1311","messageId":"1312","endLine":51,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1363","line":2,"column":10,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1364","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1348","line":5,"column":15,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1337","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1339","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1316","line":16,"column":3,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1367","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1368","line":18,"column":3,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1361","line":23,"column":10,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1371","line":23,"column":21,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1372","line":24,"column":10,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1373","line":25,"column":10,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1402","line":28,"column":10,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1474","line":29,"column":10,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1475","line":31,"column":10,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":30},{"ruleId":"1309","severity":1,"message":"1375","line":33,"column":8,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1376","line":34,"column":8,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1377","line":35,"column":8,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1476","line":38,"column":10,"nodeType":"1311","messageId":"1312","endLine":38,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1378","line":44,"column":9,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1477","line":45,"column":9,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1478","line":53,"column":9,"nodeType":"1311","messageId":"1312","endLine":53,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1381","line":61,"column":9,"nodeType":"1311","messageId":"1312","endLine":61,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1310","line":1,"column":17,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1363","line":2,"column":10,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1364","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1365","line":5,"column":8,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":5,"column":15,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1337","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":16,"column":3,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1367","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1368","line":18,"column":3,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1370","line":22,"column":10,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1317","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1475","line":31,"column":10,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":30},{"ruleId":"1309","severity":1,"message":"1479","line":32,"column":10,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1375","line":33,"column":8,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1376","line":34,"column":8,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1377","line":35,"column":8,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1476","line":38,"column":10,"nodeType":"1311","messageId":"1312","endLine":38,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1480","line":39,"column":10,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1481","line":39,"column":20,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1482","line":41,"column":8,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1378","line":44,"column":9,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1477","line":45,"column":9,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1483","line":46,"column":9,"nodeType":"1311","messageId":"1312","endLine":46,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1381","line":52,"column":9,"nodeType":"1311","messageId":"1312","endLine":52,"endColumn":19},{"ruleId":"1406","severity":1,"message":"1484","line":67,"column":24,"nodeType":"1408","messageId":"1333","endLine":67,"endColumn":26},{"ruleId":"1406","severity":1,"message":"1484","line":160,"column":47,"nodeType":"1408","messageId":"1333","endLine":160,"endColumn":49},{"ruleId":"1406","severity":1,"message":"1484","line":161,"column":54,"nodeType":"1408","messageId":"1333","endLine":161,"endColumn":56},{"ruleId":"1406","severity":1,"message":"1484","line":163,"column":50,"nodeType":"1408","messageId":"1333","endLine":163,"endColumn":52},{"ruleId":"1406","severity":1,"message":"1407","line":164,"column":56,"nodeType":"1408","messageId":"1333","endLine":164,"endColumn":58},{"ruleId":"1406","severity":1,"message":"1484","line":290,"column":43,"nodeType":"1408","messageId":"1333","endLine":290,"endColumn":45},{"ruleId":"1406","severity":1,"message":"1484","line":291,"column":50,"nodeType":"1408","messageId":"1333","endLine":291,"endColumn":52},{"ruleId":"1406","severity":1,"message":"1484","line":293,"column":46,"nodeType":"1408","messageId":"1333","endLine":293,"endColumn":48},{"ruleId":"1406","severity":1,"message":"1407","line":294,"column":52,"nodeType":"1408","messageId":"1333","endLine":294,"endColumn":54},{"ruleId":"1406","severity":1,"message":"1484","line":328,"column":24,"nodeType":"1408","messageId":"1333","endLine":328,"endColumn":26},{"ruleId":"1406","severity":1,"message":"1484","line":420,"column":47,"nodeType":"1408","messageId":"1333","endLine":420,"endColumn":49},{"ruleId":"1406","severity":1,"message":"1484","line":421,"column":54,"nodeType":"1408","messageId":"1333","endLine":421,"endColumn":56},{"ruleId":"1406","severity":1,"message":"1484","line":423,"column":50,"nodeType":"1408","messageId":"1333","endLine":423,"endColumn":52},{"ruleId":"1406","severity":1,"message":"1407","line":424,"column":56,"nodeType":"1408","messageId":"1333","endLine":424,"endColumn":58},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1374","line":23,"column":10,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1485","line":23,"column":23,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1314","line":24,"column":10,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":25,"column":10,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":26,"column":15,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1473","line":26,"column":35,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1456","line":28,"column":8,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1358","line":39,"column":10,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1486","line":41,"column":10,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1487","line":41,"column":18,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1488","line":42,"column":10,"nodeType":"1311","messageId":"1312","endLine":42,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1489","line":42,"column":23,"nodeType":"1311","messageId":"1312","endLine":42,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1490","line":44,"column":10,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1491","line":44,"column":23,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1381","line":46,"column":9,"nodeType":"1311","messageId":"1312","endLine":46,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1483","line":47,"column":9,"nodeType":"1311","messageId":"1312","endLine":47,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1378","line":48,"column":9,"nodeType":"1311","messageId":"1312","endLine":48,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1492","line":51,"column":10,"nodeType":"1311","messageId":"1312","endLine":51,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1493","line":52,"column":10,"nodeType":"1311","messageId":"1312","endLine":52,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1494","line":54,"column":10,"nodeType":"1311","messageId":"1312","endLine":54,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1495","line":54,"column":22,"nodeType":"1311","messageId":"1312","endLine":54,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1393","line":99,"column":13,"nodeType":"1311","messageId":"1312","endLine":99,"endColumn":17},{"ruleId":"1406","severity":1,"message":"1407","line":135,"column":15,"nodeType":"1408","messageId":"1333","endLine":135,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1472","line":371,"column":7,"nodeType":"1311","messageId":"1312","endLine":371,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1369","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1367","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1417","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1496","line":19,"column":10,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1497","line":20,"column":10,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1498","line":21,"column":10,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1370","line":22,"column":10,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1374","line":23,"column":10,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1485","line":23,"column":23,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1317","line":25,"column":10,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":26,"column":15,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1473","line":26,"column":35,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1458","line":33,"column":25,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1459","line":33,"column":35,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1486","line":34,"column":10,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1487","line":34,"column":18,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1381","line":39,"column":9,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1378","line":41,"column":9,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1359","line":2,"column":19,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1499","line":7,"column":10,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1314","line":8,"column":10,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1377","line":13,"column":8,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1419","line":18,"column":10,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1420","line":18,"column":16,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1421","line":19,"column":10,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1422","line":19,"column":17,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1378","line":21,"column":9,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1500","line":22,"column":10,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":28},{"ruleId":"1309","severity":1,"message":"1423","line":22,"column":30,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":51},{"ruleId":"1309","severity":1,"message":"1424","line":27,"column":10,"nodeType":"1311","messageId":"1312","endLine":27,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1425","line":27,"column":21,"nodeType":"1311","messageId":"1312","endLine":27,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1381","line":28,"column":9,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1416","line":30,"column":9,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":23},{"ruleId":"1319","severity":1,"message":"1501","line":34,"column":6,"nodeType":"1321","endLine":34,"endColumn":27,"suggestions":"1502"},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1417","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1496","line":19,"column":10,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1497","line":20,"column":10,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1498","line":21,"column":10,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1370","line":22,"column":10,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1374","line":23,"column":10,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1485","line":23,"column":23,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1317","line":25,"column":10,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":26,"column":15,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1473","line":26,"column":35,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1486","line":34,"column":10,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1487","line":34,"column":18,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1432","line":36,"column":19,"nodeType":"1311","messageId":"1312","endLine":36,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1490","line":37,"column":10,"nodeType":"1311","messageId":"1312","endLine":37,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1491","line":37,"column":23,"nodeType":"1311","messageId":"1312","endLine":37,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1381","line":39,"column":9,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1483","line":40,"column":9,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1378","line":41,"column":9,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1496","line":19,"column":10,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1497","line":20,"column":10,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1498","line":21,"column":10,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1370","line":22,"column":10,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1374","line":23,"column":10,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1485","line":23,"column":23,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1317","line":25,"column":10,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":26,"column":15,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1473","line":26,"column":35,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1486","line":40,"column":10,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1487","line":40,"column":18,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1488","line":41,"column":10,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1489","line":41,"column":23,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1490","line":44,"column":10,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1491","line":44,"column":23,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1381","line":46,"column":9,"nodeType":"1311","messageId":"1312","endLine":46,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1483","line":47,"column":9,"nodeType":"1311","messageId":"1312","endLine":47,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1378","line":48,"column":9,"nodeType":"1311","messageId":"1312","endLine":48,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1503","line":54,"column":10,"nodeType":"1311","messageId":"1312","endLine":54,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1504","line":54,"column":22,"nodeType":"1311","messageId":"1312","endLine":54,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1492","line":55,"column":10,"nodeType":"1311","messageId":"1312","endLine":55,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1505","line":55,"column":24,"nodeType":"1311","messageId":"1312","endLine":55,"endColumn":39},{"ruleId":"1309","severity":1,"message":"1493","line":56,"column":10,"nodeType":"1311","messageId":"1312","endLine":56,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1506","line":56,"column":19,"nodeType":"1311","messageId":"1312","endLine":56,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1507","line":57,"column":10,"nodeType":"1311","messageId":"1312","endLine":57,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1508","line":57,"column":22,"nodeType":"1311","messageId":"1312","endLine":57,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1494","line":58,"column":10,"nodeType":"1311","messageId":"1312","endLine":58,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1495","line":58,"column":22,"nodeType":"1311","messageId":"1312","endLine":58,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1509","line":59,"column":10,"nodeType":"1311","messageId":"1312","endLine":59,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1510","line":59,"column":22,"nodeType":"1311","messageId":"1312","endLine":59,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1511","line":60,"column":10,"nodeType":"1311","messageId":"1312","endLine":60,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1512","line":60,"column":22,"nodeType":"1311","messageId":"1312","endLine":60,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1513","line":61,"column":10,"nodeType":"1311","messageId":"1312","endLine":61,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1514","line":61,"column":31,"nodeType":"1311","messageId":"1312","endLine":61,"endColumn":53},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1369","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1383","line":20,"column":3,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1384","line":21,"column":3,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1385","line":22,"column":3,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1386","line":23,"column":3,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1387","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1388","line":25,"column":3,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1389","line":26,"column":3,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1515","line":29,"column":10,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1516","line":29,"column":19,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":28},{"ruleId":"1309","severity":1,"message":"1317","line":34,"column":10,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":35,"column":15,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1473","line":35,"column":35,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1456","line":36,"column":8,"nodeType":"1311","messageId":"1312","endLine":36,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1487","line":41,"column":18,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1378","line":47,"column":9,"nodeType":"1311","messageId":"1312","endLine":47,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1393","line":74,"column":15,"nodeType":"1311","messageId":"1312","endLine":74,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1393","line":84,"column":15,"nodeType":"1311","messageId":"1312","endLine":84,"endColumn":19},{"ruleId":"1406","severity":1,"message":"1407","line":111,"column":15,"nodeType":"1408","messageId":"1333","endLine":111,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1472","line":316,"column":7,"nodeType":"1311","messageId":"1312","endLine":316,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1369","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1383","line":20,"column":3,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1384","line":21,"column":3,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1385","line":22,"column":3,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1386","line":23,"column":3,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1387","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1388","line":25,"column":3,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1389","line":26,"column":3,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1515","line":29,"column":10,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1516","line":29,"column":19,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":28},{"ruleId":"1309","severity":1,"message":"1317","line":34,"column":10,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":35,"column":15,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1473","line":35,"column":35,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1456","line":36,"column":8,"nodeType":"1311","messageId":"1312","endLine":36,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1487","line":41,"column":18,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1378","line":47,"column":9,"nodeType":"1311","messageId":"1312","endLine":47,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1393","line":74,"column":15,"nodeType":"1311","messageId":"1312","endLine":74,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1393","line":84,"column":15,"nodeType":"1311","messageId":"1312","endLine":84,"endColumn":19},{"ruleId":"1406","severity":1,"message":"1407","line":111,"column":15,"nodeType":"1408","messageId":"1333","endLine":111,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1472","line":337,"column":7,"nodeType":"1311","messageId":"1312","endLine":337,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1496","line":19,"column":10,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":26},{"ruleId":"1309","severity":1,"message":"1497","line":20,"column":10,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1498","line":21,"column":10,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1370","line":22,"column":10,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1374","line":23,"column":10,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1485","line":23,"column":23,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1314","line":24,"column":10,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":25,"column":10,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1365","line":26,"column":8,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":26,"column":15,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1455","line":26,"column":26,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1473","line":26,"column":35,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1358","line":39,"column":10,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1486","line":41,"column":10,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1487","line":41,"column":18,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1488","line":42,"column":10,"nodeType":"1311","messageId":"1312","endLine":42,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1489","line":42,"column":23,"nodeType":"1311","messageId":"1312","endLine":42,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1490","line":45,"column":10,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1491","line":45,"column":23,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1381","line":47,"column":9,"nodeType":"1311","messageId":"1312","endLine":47,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1483","line":48,"column":9,"nodeType":"1311","messageId":"1312","endLine":48,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1378","line":49,"column":9,"nodeType":"1311","messageId":"1312","endLine":49,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1503","line":55,"column":10,"nodeType":"1311","messageId":"1312","endLine":55,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1504","line":55,"column":22,"nodeType":"1311","messageId":"1312","endLine":55,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1492","line":56,"column":10,"nodeType":"1311","messageId":"1312","endLine":56,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1505","line":56,"column":24,"nodeType":"1311","messageId":"1312","endLine":56,"endColumn":39},{"ruleId":"1309","severity":1,"message":"1493","line":57,"column":10,"nodeType":"1311","messageId":"1312","endLine":57,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1506","line":57,"column":19,"nodeType":"1311","messageId":"1312","endLine":57,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1507","line":58,"column":10,"nodeType":"1311","messageId":"1312","endLine":58,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1508","line":58,"column":22,"nodeType":"1311","messageId":"1312","endLine":58,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1494","line":59,"column":10,"nodeType":"1311","messageId":"1312","endLine":59,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1495","line":59,"column":22,"nodeType":"1311","messageId":"1312","endLine":59,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1509","line":60,"column":10,"nodeType":"1311","messageId":"1312","endLine":60,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1510","line":60,"column":22,"nodeType":"1311","messageId":"1312","endLine":60,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1511","line":61,"column":10,"nodeType":"1311","messageId":"1312","endLine":61,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1512","line":61,"column":22,"nodeType":"1311","messageId":"1312","endLine":61,"endColumn":35},{"ruleId":"1309","severity":1,"message":"1513","line":62,"column":10,"nodeType":"1311","messageId":"1312","endLine":62,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1514","line":62,"column":31,"nodeType":"1311","messageId":"1312","endLine":62,"endColumn":53},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":5,"column":10,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1374","line":24,"column":10,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1485","line":24,"column":23,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1314","line":25,"column":10,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":26,"column":10,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":27,"column":15,"nodeType":"1311","messageId":"1312","endLine":27,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1473","line":27,"column":35,"nodeType":"1311","messageId":"1312","endLine":27,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1456","line":29,"column":8,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1358","line":40,"column":10,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1517","line":41,"column":43,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":48},{"ruleId":"1309","severity":1,"message":"1486","line":42,"column":10,"nodeType":"1311","messageId":"1312","endLine":42,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1487","line":42,"column":18,"nodeType":"1311","messageId":"1312","endLine":42,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1488","line":43,"column":10,"nodeType":"1311","messageId":"1312","endLine":43,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1489","line":43,"column":23,"nodeType":"1311","messageId":"1312","endLine":43,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1490","line":45,"column":10,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":21},{"ruleId":"1309","severity":1,"message":"1491","line":45,"column":23,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":37},{"ruleId":"1309","severity":1,"message":"1381","line":47,"column":9,"nodeType":"1311","messageId":"1312","endLine":47,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1483","line":48,"column":9,"nodeType":"1311","messageId":"1312","endLine":48,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1378","line":49,"column":9,"nodeType":"1311","messageId":"1312","endLine":49,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1492","line":52,"column":10,"nodeType":"1311","messageId":"1312","endLine":52,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1493","line":53,"column":10,"nodeType":"1311","messageId":"1312","endLine":53,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1494","line":57,"column":10,"nodeType":"1311","messageId":"1312","endLine":57,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1495","line":57,"column":22,"nodeType":"1311","messageId":"1312","endLine":57,"endColumn":35},{"ruleId":"1406","severity":1,"message":"1407","line":91,"column":15,"nodeType":"1408","messageId":"1333","endLine":91,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1393","line":137,"column":13,"nodeType":"1311","messageId":"1312","endLine":137,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1472","line":366,"column":7,"nodeType":"1311","messageId":"1312","endLine":366,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1310","line":1,"column":17,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1337","line":4,"column":3,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":5,"column":3,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1339","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1366","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1518","line":5,"column":10,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":28},{"ruleId":"1309","severity":1,"message":"1519","line":80,"column":10,"nodeType":"1311","messageId":"1312","endLine":80,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1520","line":81,"column":10,"nodeType":"1311","messageId":"1312","endLine":81,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1521","line":81,"column":16,"nodeType":"1311","messageId":"1312","endLine":81,"endColumn":23},{"ruleId":"1319","severity":1,"message":"1522","line":89,"column":6,"nodeType":"1321","endLine":89,"endColumn":14,"suggestions":"1523"},{"ruleId":"1319","severity":1,"message":"1320","line":107,"column":6,"nodeType":"1321","endLine":107,"endColumn":8,"suggestions":"1524"},{"ruleId":"1319","severity":1,"message":"1323","line":115,"column":6,"nodeType":"1321","endLine":115,"endColumn":55,"suggestions":"1525"},{"ruleId":"1319","severity":1,"message":"1325","line":115,"column":25,"nodeType":"1326","endLine":115,"endColumn":54},{"ruleId":"1319","severity":1,"message":"1327","line":123,"column":6,"nodeType":"1321","endLine":123,"endColumn":64,"suggestions":"1526"},{"ruleId":"1319","severity":1,"message":"1325","line":123,"column":31,"nodeType":"1326","endLine":123,"endColumn":63},{"ruleId":"1406","severity":1,"message":"1407","line":41,"column":63,"nodeType":"1408","messageId":"1333","endLine":41,"endColumn":65},{"ruleId":"1309","severity":1,"message":"1527","line":26,"column":7,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1393","line":51,"column":13,"nodeType":"1311","messageId":"1312","endLine":51,"endColumn":17},{"ruleId":"1354","severity":1,"message":"1355","line":300,"column":23,"nodeType":"1356","endLine":300,"endColumn":44},{"ruleId":"1309","severity":1,"message":"1310","line":1,"column":17,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1358","line":14,"column":10,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1360","line":18,"column":18,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1393","line":23,"column":13,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1364","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1360","line":14,"column":18,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1393","line":24,"column":13,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":17},{"ruleId":"1406","severity":1,"message":"1407","line":87,"column":53,"nodeType":"1408","messageId":"1333","endLine":87,"endColumn":55},{"ruleId":"1309","severity":1,"message":"1423","line":13,"column":30,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":51},{"ruleId":"1309","severity":1,"message":"1424","line":16,"column":10,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1425","line":16,"column":21,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":33},{"ruleId":"1319","severity":1,"message":"1528","line":65,"column":6,"nodeType":"1321","endLine":65,"endColumn":11,"suggestions":"1529"},{"ruleId":"1309","severity":1,"message":"1442","line":74,"column":9,"nodeType":"1311","messageId":"1312","endLine":74,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1443","line":92,"column":18,"nodeType":"1311","messageId":"1312","endLine":92,"endColumn":34},{"ruleId":"1309","severity":1,"message":"1444","line":205,"column":9,"nodeType":"1311","messageId":"1312","endLine":205,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1393","line":209,"column":15,"nodeType":"1311","messageId":"1312","endLine":209,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1393","line":213,"column":15,"nodeType":"1311","messageId":"1312","endLine":213,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1445","line":545,"column":7,"nodeType":"1311","messageId":"1312","endLine":545,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1446","line":546,"column":5,"nodeType":"1311","messageId":"1312","endLine":546,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1447","line":548,"column":7,"nodeType":"1311","messageId":"1312","endLine":548,"endColumn":16},{"ruleId":"1309","severity":1,"message":"1448","line":550,"column":7,"nodeType":"1311","messageId":"1312","endLine":550,"endColumn":12},{"ruleId":"1406","severity":1,"message":"1407","line":569,"column":50,"nodeType":"1408","messageId":"1333","endLine":569,"endColumn":52},{"ruleId":"1319","severity":1,"message":"1528","line":44,"column":6,"nodeType":"1321","endLine":44,"endColumn":17,"suggestions":"1530"},{"ruleId":"1309","severity":1,"message":"1362","line":17,"column":20,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":34},{"ruleId":"1406","severity":1,"message":"1407","line":75,"column":15,"nodeType":"1408","messageId":"1333","endLine":75,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1472","line":273,"column":7,"nodeType":"1311","messageId":"1312","endLine":273,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1424","line":19,"column":10,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1425","line":19,"column":21,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":33},{"ruleId":"1319","severity":1,"message":"1501","line":23,"column":6,"nodeType":"1321","endLine":23,"endColumn":27,"suggestions":"1531"},{"ruleId":"1309","severity":1,"message":"1362","line":5,"column":20,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":34},{"ruleId":"1309","severity":1,"message":"1532","line":8,"column":10,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1458","line":14,"column":25,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1459","line":14,"column":35,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":41},{"ruleId":"1406","severity":1,"message":"1484","line":29,"column":24,"nodeType":"1408","messageId":"1333","endLine":29,"endColumn":26},{"ruleId":"1406","severity":1,"message":"1484","line":116,"column":47,"nodeType":"1408","messageId":"1333","endLine":116,"endColumn":49},{"ruleId":"1406","severity":1,"message":"1484","line":117,"column":54,"nodeType":"1408","messageId":"1333","endLine":117,"endColumn":56},{"ruleId":"1406","severity":1,"message":"1484","line":119,"column":50,"nodeType":"1408","messageId":"1333","endLine":119,"endColumn":52},{"ruleId":"1406","severity":1,"message":"1407","line":120,"column":56,"nodeType":"1408","messageId":"1333","endLine":120,"endColumn":58},{"ruleId":"1406","severity":1,"message":"1484","line":242,"column":43,"nodeType":"1408","messageId":"1333","endLine":242,"endColumn":45},{"ruleId":"1406","severity":1,"message":"1484","line":243,"column":50,"nodeType":"1408","messageId":"1333","endLine":243,"endColumn":52},{"ruleId":"1406","severity":1,"message":"1484","line":245,"column":46,"nodeType":"1408","messageId":"1333","endLine":245,"endColumn":48},{"ruleId":"1406","severity":1,"message":"1407","line":246,"column":52,"nodeType":"1408","messageId":"1333","endLine":246,"endColumn":54},{"ruleId":"1406","severity":1,"message":"1484","line":280,"column":24,"nodeType":"1408","messageId":"1333","endLine":280,"endColumn":26},{"ruleId":"1406","severity":1,"message":"1484","line":367,"column":47,"nodeType":"1408","messageId":"1333","endLine":367,"endColumn":49},{"ruleId":"1406","severity":1,"message":"1484","line":368,"column":54,"nodeType":"1408","messageId":"1333","endLine":368,"endColumn":56},{"ruleId":"1406","severity":1,"message":"1484","line":370,"column":50,"nodeType":"1408","messageId":"1333","endLine":370,"endColumn":52},{"ruleId":"1406","severity":1,"message":"1407","line":371,"column":56,"nodeType":"1408","messageId":"1333","endLine":371,"endColumn":58},{"ruleId":"1309","severity":1,"message":"1472","line":461,"column":7,"nodeType":"1311","messageId":"1312","endLine":461,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1329","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":18},{"ruleId":"1330","severity":1,"message":"1331","line":112,"column":9,"nodeType":"1332","messageId":"1333","endLine":112,"endColumn":16},{"ruleId":"1330","severity":1,"message":"1334","line":329,"column":5,"nodeType":"1332","messageId":"1333","endLine":329,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1364","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1362","line":9,"column":10,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1454","line":10,"column":10,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1517","line":22,"column":43,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":48},{"ruleId":"1309","severity":1,"message":"1492","line":26,"column":10,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1493","line":27,"column":10,"nodeType":"1311","messageId":"1312","endLine":27,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1494","line":31,"column":10,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1495","line":31,"column":22,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":35},{"ruleId":"1406","severity":1,"message":"1407","line":61,"column":15,"nodeType":"1408","messageId":"1333","endLine":61,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1393","line":98,"column":13,"nodeType":"1311","messageId":"1312","endLine":98,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1362","line":5,"column":20,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":34},{"ruleId":"1309","severity":1,"message":"1454","line":6,"column":10,"nodeType":"1311","messageId":"1312","endLine":6,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1532","line":8,"column":10,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1432","line":16,"column":19,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1364","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1362","line":5,"column":10,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1454","line":6,"column":10,"nodeType":"1311","messageId":"1312","endLine":6,"endColumn":31},{"ruleId":"1309","severity":1,"message":"1532","line":8,"column":10,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1457","line":28,"column":11,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1458","line":28,"column":25,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1459","line":28,"column":35,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1358","line":18,"column":10,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1460","line":20,"column":10,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1461","line":20,"column":29,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":49},{"ruleId":"1309","severity":1,"message":"1462","line":21,"column":10,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":15,"column":10,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1348","line":16,"column":15,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1358","line":28,"column":10,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1451","line":40,"column":10,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1452","line":40,"column":17,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":25},{"ruleId":"1309","severity":1,"message":"1453","line":44,"column":9,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":20},{"ruleId":"1433","severity":1,"message":"1434","line":73,"column":5,"nodeType":"1435","messageId":"1436","endLine":77,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":82,"column":5,"nodeType":"1435","messageId":"1436","endLine":86,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":99,"column":5,"nodeType":"1435","messageId":"1436","endLine":103,"endColumn":6},{"ruleId":"1309","severity":1,"message":"1348","line":23,"column":15,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1437","line":26,"column":10,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":22},{"ruleId":"1309","severity":1,"message":"1390","line":42,"column":10,"nodeType":"1311","messageId":"1312","endLine":42,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1391","line":42,"column":19,"nodeType":"1311","messageId":"1312","endLine":42,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1438","line":44,"column":10,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1439","line":44,"column":21,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":33},{"ruleId":"1433","severity":1,"message":"1434","line":101,"column":5,"nodeType":"1435","messageId":"1436","endLine":105,"endColumn":6},{"ruleId":"1406","severity":1,"message":"1407","line":215,"column":36,"nodeType":"1408","messageId":"1333","endLine":215,"endColumn":38},{"ruleId":"1406","severity":1,"message":"1407","line":232,"column":36,"nodeType":"1408","messageId":"1333","endLine":232,"endColumn":38},{"ruleId":"1406","severity":1,"message":"1407","line":241,"column":51,"nodeType":"1408","messageId":"1333","endLine":241,"endColumn":53},{"ruleId":"1433","severity":1,"message":"1434","line":373,"column":5,"nodeType":"1435","messageId":"1436","endLine":379,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":431,"column":5,"nodeType":"1435","messageId":"1436","endLine":441,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":445,"column":5,"nodeType":"1435","messageId":"1436","endLine":449,"endColumn":6},{"ruleId":"1406","severity":1,"message":"1407","line":549,"column":15,"nodeType":"1408","messageId":"1333","endLine":549,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1460","line":35,"column":10,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1461","line":35,"column":29,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":49},{"ruleId":"1309","severity":1,"message":"1462","line":39,"column":10,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1463","line":44,"column":9,"nodeType":"1311","messageId":"1312","endLine":44,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1453","line":45,"column":9,"nodeType":"1311","messageId":"1312","endLine":45,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1381","line":48,"column":17,"nodeType":"1311","messageId":"1312","endLine":48,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1358","line":55,"column":9,"nodeType":"1311","messageId":"1312","endLine":55,"endColumn":14},{"ruleId":"1464","severity":1,"message":"1465","line":55,"column":59,"nodeType":"1466","messageId":"1467","endLine":55,"endColumn":61},{"ruleId":"1319","severity":1,"message":"1468","line":77,"column":6,"nodeType":"1321","endLine":77,"endColumn":8,"suggestions":"1533"},{"ruleId":"1309","severity":1,"message":"1470","line":112,"column":9,"nodeType":"1311","messageId":"1312","endLine":112,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1341","line":2,"column":15,"nodeType":"1311","messageId":"1312","endLine":2,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1383","line":4,"column":3,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1384","line":5,"column":3,"nodeType":"1311","messageId":"1312","endLine":5,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1385","line":6,"column":3,"nodeType":"1311","messageId":"1312","endLine":6,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1386","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1387","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1388","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1389","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1365","line":13,"column":8,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":13,"column":15,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1426","line":16,"column":3,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1427","line":17,"column":3,"nodeType":"1311","messageId":"1312","endLine":17,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1428","line":18,"column":3,"nodeType":"1311","messageId":"1312","endLine":18,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1429","line":19,"column":3,"nodeType":"1311","messageId":"1312","endLine":19,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1344","line":20,"column":3,"nodeType":"1311","messageId":"1312","endLine":20,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1410","line":21,"column":3,"nodeType":"1311","messageId":"1312","endLine":21,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1345","line":22,"column":3,"nodeType":"1311","messageId":"1312","endLine":22,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1346","line":23,"column":3,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1347","line":24,"column":3,"nodeType":"1311","messageId":"1312","endLine":24,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1411","line":25,"column":3,"nodeType":"1311","messageId":"1312","endLine":25,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1430","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1431","line":30,"column":19,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":29},{"ruleId":"1309","severity":1,"message":"1353","line":31,"column":10,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1432","line":31,"column":19,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":29},{"ruleId":"1433","severity":1,"message":"1434","line":43,"column":5,"nodeType":"1435","messageId":"1436","endLine":48,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":52,"column":5,"nodeType":"1435","messageId":"1436","endLine":57,"endColumn":6},{"ruleId":"1433","severity":1,"message":"1434","line":61,"column":5,"nodeType":"1435","messageId":"1436","endLine":66,"endColumn":6},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":4,"column":10,"nodeType":"1311","messageId":"1312","endLine":4,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1471","line":6,"column":3,"nodeType":"1311","messageId":"1312","endLine":6,"endColumn":6},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1338","line":8,"column":3,"nodeType":"1311","messageId":"1312","endLine":8,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1359","line":9,"column":3,"nodeType":"1311","messageId":"1312","endLine":9,"endColumn":9},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1367","line":15,"column":3,"nodeType":"1311","messageId":"1312","endLine":15,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1387","line":23,"column":3,"nodeType":"1311","messageId":"1312","endLine":23,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1370","line":30,"column":10,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1314","line":31,"column":10,"nodeType":"1311","messageId":"1312","endLine":31,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1317","line":32,"column":10,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1454","line":32,"column":20,"nodeType":"1311","messageId":"1312","endLine":32,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1365","line":33,"column":8,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1348","line":33,"column":15,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":24},{"ruleId":"1309","severity":1,"message":"1455","line":33,"column":26,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1456","line":34,"column":8,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1445","line":35,"column":8,"nodeType":"1311","messageId":"1312","endLine":35,"endColumn":19},{"ruleId":"1309","severity":1,"message":"1358","line":39,"column":10,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1457","line":40,"column":11,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1458","line":40,"column":25,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1459","line":40,"column":35,"nodeType":"1311","messageId":"1312","endLine":40,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1460","line":41,"column":10,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1461","line":41,"column":29,"nodeType":"1311","messageId":"1312","endLine":41,"endColumn":49},{"ruleId":"1309","severity":1,"message":"1378","line":43,"column":9,"nodeType":"1311","messageId":"1312","endLine":43,"endColumn":20},{"ruleId":"1309","severity":1,"message":"1335","line":1,"column":27,"nodeType":"1311","messageId":"1312","endLine":1,"endColumn":36},{"ruleId":"1309","severity":1,"message":"1382","line":3,"column":10,"nodeType":"1311","messageId":"1312","endLine":3,"endColumn":17},{"ruleId":"1309","severity":1,"message":"1337","line":7,"column":3,"nodeType":"1311","messageId":"1312","endLine":7,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1339","line":10,"column":3,"nodeType":"1311","messageId":"1312","endLine":10,"endColumn":13},{"ruleId":"1309","severity":1,"message":"1340","line":11,"column":3,"nodeType":"1311","messageId":"1312","endLine":11,"endColumn":7},{"ruleId":"1309","severity":1,"message":"1366","line":12,"column":3,"nodeType":"1311","messageId":"1312","endLine":12,"endColumn":12},{"ruleId":"1309","severity":1,"message":"1341","line":13,"column":3,"nodeType":"1311","messageId":"1312","endLine":13,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1316","line":14,"column":3,"nodeType":"1311","messageId":"1312","endLine":14,"endColumn":5},{"ruleId":"1309","severity":1,"message":"1368","line":16,"column":3,"nodeType":"1311","messageId":"1312","endLine":16,"endColumn":8},{"ruleId":"1309","severity":1,"message":"1370","line":26,"column":10,"nodeType":"1311","messageId":"1312","endLine":26,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1317","line":28,"column":10,"nodeType":"1311","messageId":"1312","endLine":28,"endColumn":18},{"ruleId":"1309","severity":1,"message":"1365","line":29,"column":8,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":11},{"ruleId":"1309","severity":1,"message":"1534","line":29,"column":15,"nodeType":"1311","messageId":"1312","endLine":29,"endColumn":27},{"ruleId":"1309","severity":1,"message":"1456","line":30,"column":8,"nodeType":"1311","messageId":"1312","endLine":30,"endColumn":14},{"ruleId":"1309","severity":1,"message":"1358","line":33,"column":10,"nodeType":"1311","messageId":"1312","endLine":33,"endColumn":15},{"ruleId":"1309","severity":1,"message":"1457","line":34,"column":11,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":23},{"ruleId":"1309","severity":1,"message":"1458","line":34,"column":25,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":33},{"ruleId":"1309","severity":1,"message":"1459","line":34,"column":35,"nodeType":"1311","messageId":"1312","endLine":34,"endColumn":41},{"ruleId":"1309","severity":1,"message":"1392","line":39,"column":17,"nodeType":"1311","messageId":"1312","endLine":39,"endColumn":26},{"ruleId":"1406","severity":1,"message":"1484","line":118,"column":41,"nodeType":"1408","messageId":"1333","endLine":118,"endColumn":43},{"ruleId":"1330","severity":1,"message":"1535","line":16,"column":11,"nodeType":"1332","messageId":"1333","endLine":16,"endColumn":22},{"ruleId":"1330","severity":1,"message":"1536","line":17,"column":11,"nodeType":"1332","messageId":"1333","endLine":17,"endColumn":17},"no-native-reassign",["1537"],"no-negated-in-lhs",["1538"],"no-unused-vars","'useState' is defined but never used.","Identifier","unusedVar","'withRouter' is defined but never used.","'useQuery' is defined but never used.","'Footer' is defined but never used.","'H1' is defined but never used.","'useToast' is defined but never used.","'myTheme' is assigned a value but never used.","react-hooks/exhaustive-deps","React Hook React.useEffect has missing dependencies: 'setdeployProcessStatus' and 'toast'. Either include them or remove the dependency array.","ArrayExpression",["1539"],"React Hook useEffect has a missing dependency: 'setToken'. Either include it or remove the dependency array. Outer scope values like 'setHeader' aren't valid dependencies because mutating them doesn't re-render the component.",["1540"],"React Hook useEffect has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked.","CallExpression","React Hook useEffect has a missing dependency: 'setJwtToken'. Either include it or remove the dependency array. Outer scope values like 'setJwtHeader' aren't valid dependencies because mutating them doesn't re-render the component.",["1541"],"'backgroundImage' is defined but never used.","no-dupe-keys","Duplicate key 'padding'.","ObjectExpression","unexpected","Duplicate key 'fontSize'.","'useEffect' is defined but never used.","'useParams' is defined but never used.","'ResponsiveImage' is defined but never used.","'Image' is defined but never used.","'StyledLink' is defined but never used.","'Span' is defined but never used.","'H2' is defined but never used.","'ChevronDownIcon' is defined but never used.","'Sidebar' is defined but never used.","'MenuItemOption' is defined but never used.","'MenuOptionGroup' is defined but never used.","'MenuIcon' is defined but never used.","'MenuCommand' is defined but never used.","'setHeader' is defined but never used.","'BreadcrumbSeparator' is defined but never used.","'isOpen' is assigned a value but never used.","'onOpen' is assigned a value but never used.","'onClose' is assigned a value but never used.","'loading' is assigned a value but never used.","react/jsx-no-duplicate-props","No duplicate props allowed","JSXAttribute","'UserMenu' is defined but never used.","'token' is assigned a value but never used.","'Button' is defined but never used.","'setApiErr' is assigned a value but never used.","'FaUserAlt' is defined but never used.","'useQueryClient' is defined but never used.","'useForm' is defined but never used.","'useGlobal' is defined but never used.","'Api' is defined but never used.","'MotionBox' is defined but never used.","'Input' is defined but never used.","'Label' is defined but never used.","'H5' is defined but never used.","'Icon' is defined but never used.","'FaDatabase' is defined but never used.","'FcAcceptDatabase' is defined but never used.","'IoAppsSharp' is defined but never used.","'SiAmazonaws' is defined but never used.","'CreateDatabase' is defined but never used.","'Application' is defined but never used.","'AwsDeploy' is defined but never used.","'queryClient' is assigned a value but never used.","'openModal' is assigned a value but never used.","'openModalHandler' is assigned a value but never used.","'isFetching' is assigned a value but never used.","'NavLink' is defined but never used.","'Modal' is defined but never used.","'ModalOverlay' is defined but never used.","'ModalContent' is defined but never used.","'ModalHeader' is defined but never used.","'ModalFooter' is defined but never used.","'ModalBody' is defined but never used.","'ModalCloseButton' is defined but never used.","'success' is assigned a value but never used.","'setSuccess' is assigned a value but never used.","'isLoading' is assigned a value but never used.","'data' is assigned a value but never used.","'FaServer' is defined but never used.","'AiFillCaretDown' is defined but never used.","'GrMysql' is defined but never used.","'SiPostgresql' is defined but never used.","'Wrap' is defined but never used.","'WrapItem' is defined but never used.","'Avatar' is defined but never used.","'AvatarBadge' is defined but never used.","'BsAppIndicator' is defined but never used.","'margin' is defined but never used.","'marginTop' is defined but never used.","'showDbOptionsHandler' is assigned a value but never used.","eqeqeq","Expected '!==' and instead saw '!='.","BinaryExpression","'TableCaption' is defined but never used.","'MenuGroup' is defined but never used.","'MenuDivider' is defined but never used.","'FaEdit' is defined but never used.","'EditDatabase' is defined but never used.","'editDbConnection' is assigned a value but never used.","'editDbHandler' is assigned a value but never used.","'onCloseHandler' is assigned a value but never used.","'Para' is defined but never used.","'ApplicationNext' is defined but never used.","'dash' is assigned a value but never used.","'setDash' is assigned a value but never used.","'fetch' is assigned a value but never used.","'setFetch' is assigned a value but never used.","'setConnectionSelected' is assigned a value but never used.","'onLoading' is assigned a value but never used.","'setOnLoading' is assigned a value but never used.","'Menu' is defined but never used.","'MenuButton' is defined but never used.","'MenuList' is defined but never used.","'MenuItem' is defined but never used.","'classId' is assigned a value but never used.","'setClassId' is assigned a value but never used.","'setLoading' is assigned a value but never used.","no-lone-blocks","Nested block is redundant.","BlockStatement","redundantNestedBlock","'TiRssOutline' is defined but never used.","'editValue' is assigned a value but never used.","'setEditValue' is assigned a value but never used.","'timeChangeHandler' is assigned a value but never used.","'setbaseJWTHandler' is assigned a value but never used.","'isFetchingApps' is assigned a value but never used.","'exportAppHandler' is defined but never used.","'deleteRow' is assigned a value but never used.","'CreateTable' is defined but never used.","'exportTable' is assigned a value but never used.","'editTable' is assigned a value but never used.","'modal' is assigned a value but never used.","'Checkbox' is defined but never used.","'CheckboxGroup' is defined but never used.","'value' is assigned a value but never used.","'setValue' is assigned a value but never used.","'contentType' is assigned a value but never used.","'createStandaloneToast' is defined but never used.","'APIURLS' is defined but never used.","'Select' is defined but never used.","'handleSubmit' is assigned a value but never used.","'register' is assigned a value but never used.","'errors' is assigned a value but never used.","'selectedFieldType' is assigned a value but never used.","'setSelectedFieldType' is assigned a value but never used.","'jwtToken' is assigned a value but never used.","'columnTypes' is assigned a value but never used.","array-callback-return","Array.prototype.map() expects a return value from arrow function.","ArrowFunctionExpression","expectedInside","React Hook useEffect has missing dependencies: 'columns', 'selectedBinaryType', 'selectedBooleanType', and 'value'. Either include them or remove the dependency array.",["1542"],"'setValueHandler' is assigned a value but never used.","'Box' is defined but never used.","'CARD_ELEMENT_OPTIONS' is assigned a value but never used.","'ApiJwt' is defined but never used.","'TiExport' is defined but never used.","'AiOutlineCloudServer' is defined but never used.","'Chart' is defined but never used.","'userProfile' is assigned a value but never used.","'dbConnections' is assigned a value but never used.","'useDisclosure' is defined but never used.","'Doughnut' is defined but never used.","'Line' is defined but never used.","'AppTableCreation' is defined but never used.","'toast' is assigned a value but never used.","Expected '===' and instead saw '=='.","'SiHeroku' is defined but never used.","'toggle' is assigned a value but never used.","'setToggle' is assigned a value but never used.","'selectedApp' is assigned a value but never used.","'setSelectedApp' is assigned a value but never used.","'provisionDb' is assigned a value but never used.","'setProvisionDb' is assigned a value but never used.","'instanceType' is assigned a value but never used.","'imageId' is assigned a value but never used.","'engineType' is assigned a value but never used.","'setEngineType' is assigned a value but never used.","'BsPlusCircleFill' is defined but never used.","'FaAws' is defined but never used.","'AiOutlineDelete' is defined but never used.","'setGlobal' is defined but never used.","'connectionSelected' is assigned a value but never used.","React Hook useEffect has a missing dependency: 'setdeployProcessStatus'. Either include it or remove the dependency array.",["1543"],"'deviceList' is assigned a value but never used.","'setDeviceList' is assigned a value but never used.","'setInstanceType' is assigned a value but never used.","'setImageId' is assigned a value but never used.","'deviceName' is assigned a value but never used.","'setDeviceName' is assigned a value but never used.","'volumeType' is assigned a value but never used.","'setVolumeType' is assigned a value but never used.","'volumeSize' is assigned a value but never used.","'setVolumeSize' is assigned a value but never used.","'deleteOnTermination' is assigned a value but never used.","'setDeleteOnTermination' is assigned a value but never used.","'MdEmail' is defined but never used.","'MdTextsms' is defined but never used.","'reset' is assigned a value but never used.","'ReactQueryDevtools' is defined but never used.","'deployProcessStatus' is assigned a value but never used.","'html' is assigned a value but never used.","'setHtml' is assigned a value but never used.","React Hook useEffect has an unnecessary dependency: 'socket'. Either exclude it or remove the dependency array. Outer scope values like 'socket' aren't valid dependencies because mutating them doesn't re-render the component.",["1544"],["1545"],["1546"],["1547"],"'match' is assigned a value but never used.","React Hook useEffect has missing dependencies: 'baseURL' and 'setBaseURL'. Either include them or remove the dependency array.",["1548"],["1549"],["1550"],"'useIsFetching' is defined but never used.",["1551"],"'setJwtHeader' is defined but never used.","Duplicate key 'paddingLeft'.","Duplicate key 'height'.","no-global-assign","no-unsafe-negation",{"desc":"1552","fix":"1553"},{"desc":"1554","fix":"1555"},{"desc":"1556","fix":"1557"},{"desc":"1558","fix":"1559"},{"desc":"1560","fix":"1561"},{"desc":"1562","fix":"1563"},{"desc":"1552","fix":"1564"},{"desc":"1554","fix":"1565"},{"desc":"1556","fix":"1566"},{"desc":"1567","fix":"1568"},{"desc":"1569","fix":"1570"},{"desc":"1560","fix":"1571"},{"desc":"1558","fix":"1572"},"Update the dependencies array to be: [setdeployProcessStatus, toast]",{"range":"1573","text":"1574"},"Update the dependencies array to be: [token, setToken]",{"range":"1575","text":"1576"},"Update the dependencies array to be: [jwtToken, setJwtToken]",{"range":"1577","text":"1578"},"Update the dependencies array to be: [columns, selectedBinaryType, selectedBooleanType, value]",{"range":"1579","text":"1580"},"Update the dependencies array to be: [deployProcessStatus, setdeployProcessStatus]",{"range":"1581","text":"1582"},"Update the dependencies array to be: []",{"range":"1583","text":"1584"},{"range":"1585","text":"1574"},{"range":"1586","text":"1576"},{"range":"1587","text":"1578"},"Update the dependencies array to be: [app, baseURL, setBaseURL]",{"range":"1588","text":"1589"},"Update the dependencies array to be: [app, baseURL, data, setBaseURL]",{"range":"1590","text":"1591"},{"range":"1592","text":"1582"},{"range":"1593","text":"1580"},[3764,3766],"[setdeployProcessStatus, toast]",[3984,4033],"[token, setToken]",[4188,4246],"[jwtToken, setJwtToken]",[2700,2702],"[columns, selectedBinaryType, selectedBooleanType, value]",[1380,1401],"[deployProcessStatus, setdeployProcessStatus]",[2692,2700],"[]",[3136,3138],[3284,3333],[3488,3546],[2227,2232],"[app, baseURL, setBaseURL]",[1384,1395],"[app, baseURL, data, setBaseURL]",[901,922],[2371,2373]] \ No newline at end of file diff --git a/doga-frontend/README.md b/doga-frontend/README.md deleted file mode 100644 index 0c83cde..0000000 --- a/doga-frontend/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# Getting Started with Create React App - -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in the browser. - -The page will reload if you make edits.\ -You will also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** - -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. - -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) - -### Analyzing the Bundle Size - -This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) - -### Making a Progressive Web App - -This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) - -### Advanced Configuration - -This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) - -### Deployment - -This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) - -### `npm run build` fails to minify - -This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/doga-frontend/package-lock.json b/doga-frontend/package-lock.json deleted file mode 100644 index 3689915..0000000 --- a/doga-frontend/package-lock.json +++ /dev/null @@ -1,20669 +0,0 @@ -{ - "name": "doga-frontend", - "version": "0.1.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "7zip-bin": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.0.3.tgz", - "integrity": "sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==" - }, - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" - }, - "@babel/core": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", - "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.1", - "@babel/parser": "^7.12.3", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", - "requires": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", - "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.14.5", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", - "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "requires": { - "@babel/types": "^7.12.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "requires": { - "@babel/types": "^7.12.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", - "requires": { - "@babel/types": "^7.12.11" - } - }, - "@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==" - }, - "@babel/helper-validator-option": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", - "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" - }, - "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", - "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", - "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.12.1" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", - "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz", - "integrity": "sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", - "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", - "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz", - "integrity": "sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-flow": "^7.12.1" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.1.tgz", - "integrity": "sha512-KOHd0tIRLoER+J+8f9DblZDa1fLGPwaaN1DI1TVHuQFOpjHV22C3CUB3obeC4fexHY9nx+fH0hQNvLFFfA1mxA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", - "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", - "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.10", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.12.1", - "@babel/types": "^7.12.12" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz", - "integrity": "sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.12.12" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz", - "integrity": "sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz", - "integrity": "sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", - "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz", - "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "resolve": "^1.8.1", - "semver": "^5.5.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", - "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.12.1" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", - "requires": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.10.tgz", - "integrity": "sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-react-display-name": "^7.12.1", - "@babel/plugin-transform-react-jsx": "^7.12.10", - "@babel/plugin-transform-react-jsx-development": "^7.12.7", - "@babel/plugin-transform-react-pure-annotations": "^7.12.1" - } - }, - "@babel/preset-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz", - "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-typescript": "^7.12.1" - } - }, - "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/runtime-corejs3": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", - "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", - "requires": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@chakra-ui/accordion": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-1.0.3.tgz", - "integrity": "sha512-pLujWZm89u8NNgEKh2rITKweyUlo3CPu681XKHg+DjPfvebVQvFsI13lApwHMXonD91WlZITHAZ1PVAIXvJgKQ==", - "requires": { - "@chakra-ui/descendant": "1.0.2", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/icon": "1.0.2", - "@chakra-ui/transition": "1.0.3", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/alert": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-1.0.3.tgz", - "integrity": "sha512-dU+NeiqB40BmYvB4mIJpL1EpB2c479/l7EtbNR/Ne1NoUzUYnDykPYourDIcHIpYQ3KCduhe3KGELH0JZTT4WA==", - "requires": { - "@chakra-ui/icon": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/avatar": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-1.0.2.tgz", - "integrity": "sha512-yP+ZG3Lb51lSugoja2LCF0GvjL2S1S7/SqTchOi9cxoF3fG70aXhvGZVcJZiSkKdFxg+BKDx23tpx6IIWcmkvg==", - "requires": { - "@chakra-ui/image": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/breadcrumb": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-1.0.2.tgz", - "integrity": "sha512-4HNcg1QBCLSBQ+5FajOh/hmq/KklhErWO8nUrZx5yuQcqKxUROI0MfceMCt4RCuIjdUMjGsXrpn2mSI8kIf9XQ==", - "requires": { - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/button": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-1.0.2.tgz", - "integrity": "sha512-ZDY/Vhzo3AiMQ+5oqxdtl+WGHx1Sp4Pq+ekpkHDilPvfz2Slxc2RT7bWwPHtTtaJ802j3tzCo5WbjNMgJuOR8g==", - "requires": { - "@chakra-ui/spinner": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/checkbox": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-1.1.0.tgz", - "integrity": "sha512-MGsdny0rMdww4fh3xS3iyXx+FVQzMda4lpYnmjm6prlUv7Jv6vEkumDRkAJTWulJzkHl+fvD5jC4jNKh+3zGNg==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2", - "@chakra-ui/visually-hidden": "1.0.2" - } - }, - "@chakra-ui/clickable": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-1.0.2.tgz", - "integrity": "sha512-fNfw+t+oRpxrDFA7WXCYSo2KkQprnZPYQhUTCwLtUMpwkALUZT/C+GBUsY5vm21EUmzPZONteNFdR0KBfxFNwQ==", - "requires": { - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/close-button": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-1.0.3.tgz", - "integrity": "sha512-pI9XfYsxSwsAthf6Tp0FTEjCd1X/lRMCwIfoq93rcqw5o9zUvUKQo+y7/AwxxlF4Scrp9x292mqjvH1qCNouaA==", - "requires": { - "@chakra-ui/icon": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/color-mode": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-1.0.2.tgz", - "integrity": "sha512-n4F1xvbHL+YmNrDo16GOgkF+Rgc2awmn7oAPnJZNPyjOoyBghgEdLu7K+1xM14xpo87nX92sVyGMr1/1UbJq2g==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/control-box": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-1.0.2.tgz", - "integrity": "sha512-YQE4GasvtZn+aJEQHkch+wp0LySrlBHgBRjdw3y8/FbwAPGOH4KYr3HXre2VqWwfp27M1A+1k7ud6n4wcfjJ1A==", - "requires": { - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/counter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-1.0.2.tgz", - "integrity": "sha512-BRqRsiaKcTOpaW10vOgz0boO6EtWxSG+/Uoct6rceeMkDEdeilvVy0PsWso3wT+IieL9SHZAnvQ90lAuDu2aWg==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/css-reset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-1.0.0.tgz", - "integrity": "sha512-UaPsImGHvCgFO3ayp6Ugafu2/3/EG8wlW/8Y9Ihfk1UFv8cpV+3BfWKmuZ7IcmxcBL9dkP6E8p3/M1T0FB92hg==" - }, - "@chakra-ui/descendant": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.2.tgz", - "integrity": "sha512-QkTguL7IWX/HRTmKFsMTJtd94kJ1HkumrxqtptL402ZHavM0jRHyGYEUeGpXg5SUmfNFxPm05vYFdbr9/F2ylQ==", - "requires": { - "@chakra-ui/hooks": "1.0.2" - } - }, - "@chakra-ui/editable": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-1.0.2.tgz", - "integrity": "sha512-prWiYvHo5xvTlwtF+O8RQkcYjtLNhBbw/eR4naLtu5+u5B0Z3cETPPrgZeccW1DPevvWBKdSn/RCd4lm06IONw==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/focus-lock": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-1.0.2.tgz", - "integrity": "sha512-nArORkn3ygWuruS/Wz/LzULqf3nN95xPZpuQaJWFjkTQoIFd7ntFwzluPeIpw41z7jSvONDPMo4OMbmVX6EiyQ==", - "requires": { - "@chakra-ui/utils": "1.0.2", - "react-focus-lock": "2.4.1" - } - }, - "@chakra-ui/form-control": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-1.1.0.tgz", - "integrity": "sha512-kpfpgf9JWwSyQ89o0hIZmQHTsoimLNBZb9I9XQNiXTxEB/eYViVYcIsmSPD8xeyUq7S+wbZV0tLuxAboTNTSrA==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/icon": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/hooks": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-1.0.2.tgz", - "integrity": "sha512-YDLzpa778C/bwrbky+svqN9zplK2ayZqEIOC9TNRFvtN3u8bfn2iWWnrmk4Qad8BNxpAaJOeN8QxkrP+REuDiQ==", - "requires": { - "@chakra-ui/utils": "1.0.2", - "@reach/auto-id": "0.11.0", - "compute-scroll-into-view": "1.0.14", - "copy-to-clipboard": "3.3.1" - } - }, - "@chakra-ui/icon": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-1.0.2.tgz", - "integrity": "sha512-iLuAaa8vAqVLCejl9+xn8ZKvr7axuS+4CrwIlTW/ta0rL76JZTH/b9w4/EpPVdzTXHk08Vae545YrDyy9shn2g==", - "requires": { - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/image": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-1.0.2.tgz", - "integrity": "sha512-14AZAc3thk7dDXrrP9KPEsyTREiy/LsDBnkYLBILRsFNCRtx7wW1YhXTNKLcQniO0Qb7I3cuAw+gxyNtBvvXVA==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/input": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-1.0.3.tgz", - "integrity": "sha512-DQoBQlc3KbOZvQjhuy0Bi1Fp5SLGgGQYEM1NNfuq/30yX/cfTYELL1cMP6nY3ZcsEh3OCglikTFSUcPX3K9k6g==", - "requires": { - "@chakra-ui/form-control": "1.1.0", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/layout": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-1.1.1.tgz", - "integrity": "sha512-BHhIwzKRVpUSayQkKaB4/AtMtMiB4V2gCd0WlgCs8d6GTl0yk01oXgUzA99DbTa1mLs5zpmg84qtcuRZnkvjLw==", - "requires": { - "@chakra-ui/icon": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/live-region": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-1.0.2.tgz", - "integrity": "sha512-W4xL/IMrGq/bHgyr0QNUbrTLD1wCzmMmc8o71bfWgBKqEwEWS20VyjHu96Qja4tXDbYWFLC2iJiuDMWEI1qnzA==", - "requires": { - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/media-query": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-1.0.2.tgz", - "integrity": "sha512-rhKO7ad5cw791rhJkeEt3EMVzn6hFec8Ors7iFYchItrXGpT9e1N/OKQFqkUbM4eZCAuDSvZV+Gih0Vx27y7Kw==", - "requires": { - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/menu": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-1.0.3.tgz", - "integrity": "sha512-znOt6FRCA+gRsvKskgjKUa97wn0jieCNWDhdroZ6jmNbV+LFEb2cWGDgv1VqbRPPkf7rLpQ52c45aCQ0ONVMwQ==", - "requires": { - "@chakra-ui/clickable": "1.0.2", - "@chakra-ui/descendant": "1.0.2", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/popper": "1.0.2", - "@chakra-ui/transition": "1.0.3", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/modal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-1.3.0.tgz", - "integrity": "sha512-ZjcnLV37RjSO2JNX9KplhhpyLxsqO4sa+ONefE5+LCTdb8YPzR4/C4TC4sK8qMoyrz9CYnhgy1ra9EnGC25yEg==", - "requires": { - "@chakra-ui/close-button": "1.0.3", - "@chakra-ui/focus-lock": "1.0.2", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/portal": "1.0.2", - "@chakra-ui/transition": "1.0.3", - "@chakra-ui/utils": "1.0.2", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.4.0" - } - }, - "@chakra-ui/number-input": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-1.0.3.tgz", - "integrity": "sha512-9InDDQO5UjprFVfekj5+8A4v0kURuBuUJyKGtQqKn9S0JqkYikzvAU543UuRb2pze96qqoEemDFleSqPjdLfUA==", - "requires": { - "@chakra-ui/counter": "1.0.2", - "@chakra-ui/form-control": "1.1.0", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/icon": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/pin-input": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-1.1.2.tgz", - "integrity": "sha512-Pr0uIWo0aVN/N4AlU5+6ky6EzQGb8im41LqG90JqC7HA7rpwraaUQGvpD79Zm/uODGML1yYbTJ4URjFt5FsYHw==", - "requires": { - "@chakra-ui/descendant": "1.0.2", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/popover": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-1.0.4.tgz", - "integrity": "sha512-at1wEDMgp5fpDs+vwfJw+YMgchGjv089XUeFkGBqSeL3JY5k2HFWQP28yrAxSHmuBtadI5T6LfIaXthfJQzzWg==", - "requires": { - "@chakra-ui/close-button": "1.0.3", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/popper": "1.0.2", - "@chakra-ui/portal": "1.0.2", - "@chakra-ui/transition": "1.0.3", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/popper": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-1.0.2.tgz", - "integrity": "sha512-a2cX8EA/P49C6WeEVDwH2m7hyX8leaa/U77w8oK2pizmWbExJfx2sBtFQjwVpbOXxavlQLBW5jGESDcpelccEA==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2", - "@popperjs/core": "2.4.4", - "dequal": "2.0.2" - } - }, - "@chakra-ui/portal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-1.0.2.tgz", - "integrity": "sha512-Nh9tOtpPsFqtpJ0FCk9PBm4TIydLPUtTkZYfShsEwuuxme92HwFjdkR6JKyvb9v+6ogMBYMPO6wLD/KyUHG5Wg==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/progress": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-1.0.2.tgz", - "integrity": "sha512-A5Iuk5mc5ARXjyfvy98xfHg2Mzmh3UTNq9YQEbtLlGt1MCybzZP2cvROyk7gmTdqAiKmuZInCUeO7kcXCCQK/Q==", - "requires": { - "@chakra-ui/theme-tools": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/radio": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-1.1.0.tgz", - "integrity": "sha512-fZr3QytRC1yeRnI4cOT/LAGguc3Yw0AYuCsofW4pqjIkOx23lSc7JXHOtCB4fZy2fULl7n/1mcyopSDPh+y61Q==", - "requires": { - "@chakra-ui/form-control": "1.1.0", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2", - "@chakra-ui/visually-hidden": "1.0.2" - } - }, - "@chakra-ui/react": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-1.1.0.tgz", - "integrity": "sha512-nAODYnecSwcoD3CRqf9pn2WSP/2MhQouqNJfelVK9NzFz0PgClaKX1QKsvfLZ9TbqAyLuMS7esKOPzBh4XoifA==", - "requires": { - "@chakra-ui/accordion": "1.0.3", - "@chakra-ui/alert": "1.0.3", - "@chakra-ui/avatar": "1.0.2", - "@chakra-ui/breadcrumb": "1.0.2", - "@chakra-ui/button": "1.0.2", - "@chakra-ui/checkbox": "1.1.0", - "@chakra-ui/close-button": "1.0.3", - "@chakra-ui/control-box": "1.0.2", - "@chakra-ui/counter": "1.0.2", - "@chakra-ui/css-reset": "1.0.0", - "@chakra-ui/editable": "1.0.2", - "@chakra-ui/form-control": "1.1.0", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/icon": "1.0.2", - "@chakra-ui/image": "1.0.2", - "@chakra-ui/input": "1.0.3", - "@chakra-ui/layout": "1.1.1", - "@chakra-ui/live-region": "1.0.2", - "@chakra-ui/media-query": "1.0.2", - "@chakra-ui/menu": "1.0.3", - "@chakra-ui/modal": "1.3.0", - "@chakra-ui/number-input": "1.0.3", - "@chakra-ui/pin-input": "1.1.2", - "@chakra-ui/popover": "1.0.4", - "@chakra-ui/popper": "1.0.2", - "@chakra-ui/portal": "1.0.2", - "@chakra-ui/progress": "1.0.2", - "@chakra-ui/radio": "1.1.0", - "@chakra-ui/select": "1.0.3", - "@chakra-ui/skeleton": "1.0.4", - "@chakra-ui/slider": "1.0.2", - "@chakra-ui/spinner": "1.0.2", - "@chakra-ui/stat": "1.0.2", - "@chakra-ui/switch": "1.0.3", - "@chakra-ui/system": "1.1.1", - "@chakra-ui/table": "1.0.2", - "@chakra-ui/tabs": "1.0.2", - "@chakra-ui/tag": "1.0.2", - "@chakra-ui/textarea": "1.0.3", - "@chakra-ui/theme": "1.2.2", - "@chakra-ui/toast": "1.1.2", - "@chakra-ui/tooltip": "1.0.2", - "@chakra-ui/transition": "1.0.3", - "@chakra-ui/utils": "1.0.2", - "@chakra-ui/visually-hidden": "1.0.2" - } - }, - "@chakra-ui/select": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-1.0.3.tgz", - "integrity": "sha512-IQsgo4AzX+hj9cZpEiY7vIAxlDoQcWUSveOCgTlI0y3Q4IZnIUWJZTQfPngPq+uwYyFYX7U+35ZjB+Ora4+g8Q==", - "requires": { - "@chakra-ui/form-control": "1.1.0", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/skeleton": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-1.0.4.tgz", - "integrity": "sha512-K4CVDqZugOZXP+QL2TfI3WAeA+Ecgnx8Ceq72wzBxFWIYiucuhCrZq8D+Fs9N8E6yAYI3T5+YbIkCu+Q8Y1r2A==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/media-query": "1.0.2", - "@chakra-ui/system": "1.1.1", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/slider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-1.0.2.tgz", - "integrity": "sha512-QbKEILORGd/qF13fBA1ITvxBMOQhIZn6bXxaIxhQFGoqdIz3sTi3IVJAk4V6rm7jo1v3jo+KEa05Kgm8/MMq6g==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/spinner": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-1.0.2.tgz", - "integrity": "sha512-i2Z6c74DPHkTflmz2xdbLgG/5yDrcdtl1EuYUxSZRXEM5NjR32Epr3t/nqWdGO3sLBiJ2B5jpubFSRsqWxtBbQ==", - "requires": { - "@chakra-ui/utils": "1.0.2", - "@chakra-ui/visually-hidden": "1.0.2" - } - }, - "@chakra-ui/stat": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-1.0.2.tgz", - "integrity": "sha512-xriKBTCLQtH44ZPtgtDGtz7Q2T4axk+DG2y9I2VhnIioIxAf9vaeL4qi2pK8o+2mS+cgAYfnnr3/dH1eZ1BSrA==", - "requires": { - "@chakra-ui/icon": "1.0.2", - "@chakra-ui/utils": "1.0.2", - "@chakra-ui/visually-hidden": "1.0.2" - } - }, - "@chakra-ui/styled-system": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-1.3.0.tgz", - "integrity": "sha512-tMdKpV861c5Kzf+s8vzQYK9THtt39f32hMJWtKLzDxjnuAun6Aqbz/H8ioeNVr6wHvrOAGAbviPbqL9xwXsnNg==", - "requires": { - "@chakra-ui/utils": "1.0.2", - "css-get-unit": "1.0.1", - "csstype": "3.0.3" - }, - "dependencies": { - "csstype": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz", - "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==" - } - } - }, - "@chakra-ui/switch": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-1.0.3.tgz", - "integrity": "sha512-Mi/5Y9IuAXooN5UsvpIzGOQAwSCbJdHFJeh/LMnO3suGCT8ClJTw/28YLM3Oyl7euvKzFylcqec6m2ZT6rITyw==", - "requires": { - "@chakra-ui/checkbox": "1.1.0", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/system": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-1.1.1.tgz", - "integrity": "sha512-5aucdR7sv9OQqCUmGAQg3cPkXTKTRXbzk62yzSKoeGsyVfD15oMkC3jh+Ndzm97TZzbTRXnaP7gFSBJ5KMStIQ==", - "requires": { - "@chakra-ui/color-mode": "1.0.2", - "@chakra-ui/styled-system": "1.3.0", - "@chakra-ui/utils": "1.0.2", - "react-fast-compare": "3.2.0" - } - }, - "@chakra-ui/table": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-1.0.2.tgz", - "integrity": "sha512-7HP7wvGJqI9Aql8h3BuuJ2iJJXneb1hrPZRyk9YbBI4j3oyy8xdrVpEJ6eJRnpyGX2wFH24OSzTXs3ViQvj+lQ==", - "requires": { - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/tabs": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-1.0.2.tgz", - "integrity": "sha512-jB/CVPUt6+B+SLiFG7Eshs0RfGZtTHSogSeG/r+IZKId5mj1syG0KGEfT4gv2lD+zLsN8QyXKbeNbDgffC4Wew==", - "requires": { - "@chakra-ui/clickable": "1.0.2", - "@chakra-ui/descendant": "1.0.2", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/tag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-1.0.2.tgz", - "integrity": "sha512-orB94q4TtaassYU6dbGdY4eK8qJl6J5XplgvshBg2j+67iz/62Cbt6bLCs42mIOmgd/4VtcGcCcG9ZSt7VR9Yw==", - "requires": { - "@chakra-ui/icon": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/textarea": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-1.0.3.tgz", - "integrity": "sha512-lxuy7zdfpDLmoxduJyeT6K2iarRQ+a0X7hzmWq61YkNeF5edMLdnvCp7VRNocg36rgcsQWPTNbH6bYnkN7cMuw==", - "requires": { - "@chakra-ui/form-control": "1.1.0", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/theme": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-1.2.2.tgz", - "integrity": "sha512-Wkas+mSduUGOCEAcIshNPGmlqbYMEVULH3bsXaq1fx2bQaYdFKC73Ckxo0cg6qQ/Z1VCgU5CZI47VpfdUsDjZA==", - "requires": { - "@chakra-ui/theme-tools": "1.0.2" - } - }, - "@chakra-ui/theme-tools": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-1.0.2.tgz", - "integrity": "sha512-wmjz5wPtjfslvvVMoHKyD8pnOQC0Facf93fKZupaxtXaol2eZZ/tYIiA6JUwe5mtk75WvLKAihpqaM8XxeXFWw==", - "requires": { - "@chakra-ui/utils": "1.0.2", - "@types/tinycolor2": "1.4.2", - "tinycolor2": "1.4.2" - } - }, - "@chakra-ui/toast": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-1.1.2.tgz", - "integrity": "sha512-bSlqIu34NEgCuOMb31YuYGASvpgdxHg/HqgxJULW9PmGTjIg68fFej2RF3VId5ZFI/8Kpz5lCAV9Ty1XpCRjIQ==", - "requires": { - "@chakra-ui/alert": "1.0.3", - "@chakra-ui/close-button": "1.0.3", - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/theme": "1.2.2", - "@chakra-ui/transition": "1.0.3", - "@chakra-ui/utils": "1.0.2", - "@reach/alert": "0.11.0" - } - }, - "@chakra-ui/tooltip": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-1.0.2.tgz", - "integrity": "sha512-I0jlyBYCM+qtnqrWzqkooKu9qBiM6wnnZ2kT+55Bg9K3+4FbPhzEGFrthBPWPbjTKxN7yJBKxA+ZOISVnFQrBg==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/popper": "1.0.2", - "@chakra-ui/portal": "1.0.2", - "@chakra-ui/utils": "1.0.2", - "@chakra-ui/visually-hidden": "1.0.2" - } - }, - "@chakra-ui/transition": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-1.0.3.tgz", - "integrity": "sha512-GZQNJgfyJn58N4/5AanF3pZYuxpPmyAokBMEsij80KDdKN0iVaysFYQG2h8WsE031aVI690+/QCzVGBQCA3N7A==", - "requires": { - "@chakra-ui/hooks": "1.0.2", - "@chakra-ui/utils": "1.0.2" - } - }, - "@chakra-ui/utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-1.0.2.tgz", - "integrity": "sha512-2EdZkBIQ+14uNskY8tEI4X0VaNk/dZ70Uld5XpHWY5fOm6NVBziQT4gXbUu9+leHmeUseq+5xot35MCwYIaGkg==", - "requires": { - "@types/lodash.mergewith": "4.6.6", - "@types/object-assign": "4.0.30", - "css-box-model": "1.2.1", - "lodash.mergewith": "4.6.2", - "object-assign": "4.1.1" - } - }, - "@chakra-ui/visually-hidden": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-1.0.2.tgz", - "integrity": "sha512-W73zVywhBnTa38Lz+dxcTp5FuiYFRBOwUnNNN9nA8wrBHvZBD6BaFrFXaugUj2AwJckaBz2UBxCGh74DFx7Dpw==", - "requires": { - "@chakra-ui/utils": "1.0.2" - } - }, - "@ckeditor/ckeditor5-adapter-ckfinder": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-27.1.0.tgz", - "integrity": "sha512-qIuoMosLHf6AaWYs0mkBmdOGRuXg8lTbSg78IanBZy67Z+VZ+cdWnqWpYUhVhFtf8xzu8qwMe8SuScoJSOyjww==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-autoformat": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-27.1.0.tgz", - "integrity": "sha512-iFhPa2284DhLpyd6fI3/SCwLdgePDplTzMRccqL5IEfRKBQiTsJDbdilR+q903pBS4ZBBBAszVtR3GSWTW53Sw==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-basic-styles": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-27.1.0.tgz", - "integrity": "sha512-a6pHvmo6z438aVwX5NdJUd5ksNIBOjqvHBUQegCXRvHmkwG/PfiNfTobYSgdyEs7hGi5fna0d9loBWjGGgLKmQ==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-block-quote": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-27.1.0.tgz", - "integrity": "sha512-V8o4ZklhO6pFnvTpWQZXkQ1wJ4SNf0tOX8KG9oRtm1FxuZ7KRNPJRJ0dW/bvtN3v0tzq0Gx/glcgJMhfjiO/8g==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-build-classic": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-27.1.0.tgz", - "integrity": "sha512-cxkYD0Mjz7SuhUfuQ66ThdqrBiPCX65q2oQZvgeXvLK5XiCkinysmpEF2CAVx2Tv2ICB6QdA781uEMozqtJw0w==", - "requires": { - "@ckeditor/ckeditor5-adapter-ckfinder": "^27.1.0", - "@ckeditor/ckeditor5-autoformat": "^27.1.0", - "@ckeditor/ckeditor5-basic-styles": "^27.1.0", - "@ckeditor/ckeditor5-block-quote": "^27.1.0", - "@ckeditor/ckeditor5-ckfinder": "^27.1.0", - "@ckeditor/ckeditor5-cloud-services": "^27.1.0", - "@ckeditor/ckeditor5-easy-image": "^27.1.0", - "@ckeditor/ckeditor5-editor-classic": "^27.1.0", - "@ckeditor/ckeditor5-essentials": "^27.1.0", - "@ckeditor/ckeditor5-heading": "^27.1.0", - "@ckeditor/ckeditor5-image": "^27.1.0", - "@ckeditor/ckeditor5-indent": "^27.1.0", - "@ckeditor/ckeditor5-link": "^27.1.0", - "@ckeditor/ckeditor5-list": "^27.1.0", - "@ckeditor/ckeditor5-media-embed": "^27.1.0", - "@ckeditor/ckeditor5-paragraph": "^27.1.0", - "@ckeditor/ckeditor5-paste-from-office": "^27.1.0", - "@ckeditor/ckeditor5-table": "^27.1.0", - "@ckeditor/ckeditor5-typing": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-ckfinder": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-27.1.0.tgz", - "integrity": "sha512-AiuH1dsKF1bA7SP0MAYMANkbEn01+yARw8sekmYU+OgCm+vzylyhkEAykPXhuJBOaosfMWsfVXZHu6kJ+2Yiiw==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-clipboard": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-27.1.0.tgz", - "integrity": "sha512-nJnJgv8Fuqol2cl6CkbSDwjCu3y8pTS5Y/KJnA/JnTG0QcZczdQTjMIFl3ZP2/53JR5QekATIKmp1wcUAP/L1A==", - "requires": { - "@ckeditor/ckeditor5-core": "^27.1.0", - "@ckeditor/ckeditor5-engine": "^27.1.0", - "@ckeditor/ckeditor5-utils": "^27.1.0", - "@ckeditor/ckeditor5-widget": "^27.1.0", - "lodash-es": "^4.17.11" - } - }, - "@ckeditor/ckeditor5-cloud-services": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-27.1.0.tgz", - "integrity": "sha512-qZQu8f6h1hYdbFCKRiW0w6tiRsWpz3XBnYLrVHzjl+FPYzDSsAHidHOqwOIxW1fah6j8jH2gArTM7pEOLRNonA==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-core": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-27.1.0.tgz", - "integrity": "sha512-4K30Qw2jYHMt6Yk4+Covi4b39XO3znM7/VPRh7mcq/MBbHxK4dTrX/UBWtsYrgFBg6KPteNKU03aT9GDMsbvBw==", - "requires": { - "@ckeditor/ckeditor5-engine": "^27.1.0", - "@ckeditor/ckeditor5-ui": "^27.1.0", - "@ckeditor/ckeditor5-utils": "^27.1.0", - "lodash-es": "^4.17.15" - } - }, - "@ckeditor/ckeditor5-easy-image": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-27.1.0.tgz", - "integrity": "sha512-JX1VZhDGfZlxcAbeavV+KHfuOkRvvMDzRpLvFGeczeaXveCnMG0txDyiVFNHRR+NpSiCUO5gbTo9XMh4E8STAA==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-editor-classic": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-27.1.0.tgz", - "integrity": "sha512-pTPKvqWVTGPF8p0dhvu9VP0vXrb7U1BDoRNI2QZN2gEl7vo6LbREw+vEliJkNy9z+QzjNhmRJW0y3sNyAKlw7A==", - "requires": { - "ckeditor5": "^27.1.0", - "lodash-es": "^4.17.15" - } - }, - "@ckeditor/ckeditor5-engine": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-27.1.0.tgz", - "integrity": "sha512-lGvIYexhhCTo5lZqf8EqS25hCpayPY/wQZXvnReFylB24aztUacOBYK2sgNOmwBnzKjpv90Y7GKEpdDL/8CDSg==", - "requires": { - "@ckeditor/ckeditor5-utils": "^27.1.0", - "lodash-es": "^4.17.15" - } - }, - "@ckeditor/ckeditor5-enter": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-27.1.0.tgz", - "integrity": "sha512-vqldhUklSYQhpZDXyVJ9dEvl9zK0V8L5kPXicsONaICmnRO0uRD9Q2zIyv+R62sIrTvF3fTJvDCH4kjZog09lQ==", - "requires": { - "@ckeditor/ckeditor5-core": "^27.1.0", - "@ckeditor/ckeditor5-engine": "^27.1.0", - "@ckeditor/ckeditor5-utils": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-essentials": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-27.1.0.tgz", - "integrity": "sha512-BneCm9uOD4ir+Tji2ADgYVwHWE54bJ6OpZza8UNIKvo9koGaFB5jmT6M2xXwK508RusiRlvgGrd2M4qa7CWM0A==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-heading": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-27.1.0.tgz", - "integrity": "sha512-KLJXOWns3Hk1CbTl7gxDaO115fYn6eRUz8fBs/wI544qbpyX8xdnVtNGO+9CMbsA7StmIPEBzXAYbnqcIjc6lg==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-image": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-27.1.0.tgz", - "integrity": "sha512-RN35K95TdWfVQLjravmh7mRjtKXozbIv7Ox0pWRblMwUQO4/miZmNCdkVCae9FtWpTaKGMsehT5pDuACg5MU2A==", - "requires": { - "@ckeditor/ckeditor5-ui": "^27.1.0", - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-indent": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-27.1.0.tgz", - "integrity": "sha512-6yswg+LGMwQUWp77FTk1x5dFRfkC+4r2w79R2pT0QX/slw8/4eC32kflaVIKiVN+NoO38SWS48raqMu7iWdybw==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-link": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-27.1.0.tgz", - "integrity": "sha512-BCLvzqoFFWTNploi0WX9/Qn+zxmPN3gSySX4B4yTAl8K9mdJ6/diRXsWFjuzgt80Lp1USIX7MeGLJvxeep5tlw==", - "requires": { - "@ckeditor/ckeditor5-ui": "^27.1.0", - "ckeditor5": "^27.1.0", - "lodash-es": "^4.17.15" - } - }, - "@ckeditor/ckeditor5-list": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-27.1.0.tgz", - "integrity": "sha512-Cq9lAnxpx6OrIQuOdqfy+O4JuUh30NVUHFhzJvj0A+p5pLOESyOkchZ2tRNYoK5J7pWJFi/rmM0uvCE3ESouRg==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-media-embed": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-27.1.0.tgz", - "integrity": "sha512-yINfmdvkO7W+hGadquuRr2X20eDS+2ewijhzdbegp+YWuARzTLdvrUTydtLY5IsCSzK5/80P4hYIKSw49IAAiQ==", - "requires": { - "@ckeditor/ckeditor5-ui": "^27.1.0", - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-paragraph": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-27.1.0.tgz", - "integrity": "sha512-zNy+GzWgcf0Oo/AshtwDbfgwQ8UlR1rs3tQpSPyYU7/8FbrqrdVv6JUzUlsBqcMHi06O+RT4HT5yFEaOYYbUVg==", - "requires": { - "@ckeditor/ckeditor5-core": "^27.1.0", - "@ckeditor/ckeditor5-ui": "^27.1.0", - "@ckeditor/ckeditor5-utils": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-paste-from-office": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-27.1.0.tgz", - "integrity": "sha512-G+pQPSXH0QDHBKLZ+xQ3aaqgyqF3kRqBZHW/KWaJBzEmqFrgQSeGfuFnQmrQNInOuTJ/9wLF2ZRiyLZP6rbzow==", - "requires": { - "ckeditor5": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-react": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-react/-/ckeditor5-react-3.0.2.tgz", - "integrity": "sha512-hOAREzVUp8dwE8vV8qgxIGBOJzaxCm8N2aEhtbCq6QZbGLW9dckdfGKVmbtgEnCQgueVXEUqfDyUIXM6LtXDHA==", - "requires": { - "prop-types": "^15.7.2" - } - }, - "@ckeditor/ckeditor5-select-all": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-27.1.0.tgz", - "integrity": "sha512-vTFgOpKNOLmBYEaK6pA/7XFzUZ6jaXChLVk1PW5LpfadAZ01xlL8ZK3YF4ZIQSjKct6LJgCF3BqfKpWgHvnObw==", - "requires": { - "@ckeditor/ckeditor5-core": "^27.1.0", - "@ckeditor/ckeditor5-ui": "^27.1.0", - "@ckeditor/ckeditor5-utils": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-table": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-27.1.0.tgz", - "integrity": "sha512-2k0LEli45lD0vRu+sLj5Gs5o+kcDLg6IiMUB7/GtM+SN9JAclN1ZPtodagOCafR3rrkeixayZ4Lk0vomjuCtKw==", - "requires": { - "ckeditor5": "^27.1.0", - "lodash-es": "^4.17.15" - } - }, - "@ckeditor/ckeditor5-typing": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-27.1.0.tgz", - "integrity": "sha512-MfwNEYaAuaz1kPyHwfT1gtRE4DwnjaYwRbW9EH53Dsu+eSTCAc/4A0z+VVJ4aBlRADkPeNAQ3ecK0kVJNb55yw==", - "requires": { - "@ckeditor/ckeditor5-core": "^27.1.0", - "@ckeditor/ckeditor5-engine": "^27.1.0", - "@ckeditor/ckeditor5-utils": "^27.1.0", - "lodash-es": "^4.17.15" - } - }, - "@ckeditor/ckeditor5-ui": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-27.1.0.tgz", - "integrity": "sha512-rGzGjgxSZjKFpkUB0MjpvYqQW9lZNVinBpBgOD/j0Q8OZ/HohLIJJBRaQbEKLJgIR0BXPNPQSC4NQt44Vc1YBw==", - "requires": { - "@ckeditor/ckeditor5-utils": "^27.1.0", - "ckeditor5": "^27.1.0", - "lodash-es": "^4.17.15" - } - }, - "@ckeditor/ckeditor5-undo": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-27.1.0.tgz", - "integrity": "sha512-Z/iBrfcXgYOj5NBgqZqodvQ0tMhIqaErMamIX2DU0XCUbcWDomU+z5gHAHj6JzmX8C3cwpOhivOvgX2A+dUvAg==", - "requires": { - "@ckeditor/ckeditor5-core": "^27.1.0", - "@ckeditor/ckeditor5-engine": "^27.1.0", - "@ckeditor/ckeditor5-ui": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-upload": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-27.1.0.tgz", - "integrity": "sha512-VYqvxl8zI9C2Lt3RFlqJv8li0p3yRCRpnyU1yRCzQCwihZMq4nK111C6IBAiUt7cdWPVPfP8vlPKzA2S0q1Tig==", - "requires": { - "@ckeditor/ckeditor5-core": "^27.1.0", - "@ckeditor/ckeditor5-ui": "^27.1.0", - "@ckeditor/ckeditor5-utils": "^27.1.0" - } - }, - "@ckeditor/ckeditor5-utils": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-27.1.0.tgz", - "integrity": "sha512-7hFK2jUmUJEcgYITr0YtXVf1/FZkOPgMG/wAkOfpd2EYZJ31szNXVFRiYucmxpdRYvqJ4F1YsQQcRITcMc5twg==", - "requires": { - "lodash-es": "^4.17.15" - } - }, - "@ckeditor/ckeditor5-widget": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-27.1.0.tgz", - "integrity": "sha512-DpdwcWjXKHxoOZmFmc+2vIq8Nr4hA5140zxO3IIMrUiydcZJyOp2atHiPV7idBi5gR8ct+asQ3nW+cwVELQuhQ==", - "requires": { - "@ckeditor/ckeditor5-core": "^27.1.0", - "@ckeditor/ckeditor5-engine": "^27.1.0", - "@ckeditor/ckeditor5-enter": "^27.1.0", - "@ckeditor/ckeditor5-typing": "^27.1.0", - "@ckeditor/ckeditor5-ui": "^27.1.0", - "@ckeditor/ckeditor5-utils": "^27.1.0", - "lodash-es": "^4.17.15" - } - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" - }, - "@csstools/normalize.css": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", - "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" - }, - "@develar/schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } - }, - "@electron/get": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.4.tgz", - "integrity": "sha512-6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg==", - "requires": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "global-agent": "^2.0.2", - "global-tunnel-ng": "^2.7.1", - "got": "^9.6.0", - "progress": "^2.0.3", - "semver": "^6.2.0", - "sumchecker": "^3.0.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==", - "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=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "@electron/universal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.0.4.tgz", - "integrity": "sha512-ajZoumi4XwqwmZe8YVhu4XGkZBCPyWZsVCQONPTIe9TUlleSN+dic3YpXlaWcilx/HOzTdldTKtabNTeI0gDoA==", - "requires": { - "@malept/cross-spawn-promise": "^1.1.0", - "asar": "^3.0.3", - "debug": "^4.3.1", - "dir-compare": "^2.4.0", - "fs-extra": "^9.0.1" - } - }, - "@emotion/babel-plugin": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.1.2.tgz", - "integrity": "sha512-Nz1k7b11dWw8Nw4Z1R99A9mlB6C6rRsCtZnwNUOj4NsoZdrO2f2A/83ST7htJORD5zpOiLKY59aJN23092949w==", - "requires": { - "@babel/helper-module-imports": "^7.7.0", - "@babel/plugin-syntax-jsx": "^7.12.1", - "@babel/runtime": "^7.7.2", - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.5", - "@emotion/serialize": "^1.0.0", - "babel-plugin-macros": "^2.6.1", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "^4.0.3" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - } - } - }, - "@emotion/cache": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.1.3.tgz", - "integrity": "sha512-n4OWinUPJVaP6fXxWZD9OUeQ0lY7DvtmtSuqtRWT0Ofo/sBLCVSgb4/Oa0Q5eFxcwablRKjUXqXtNZVyEwCAuA==", - "requires": { - "@emotion/memoize": "^0.7.4", - "@emotion/sheet": "^1.0.0", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", - "stylis": "^4.0.3" - } - }, - "@emotion/core": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.1.1.tgz", - "integrity": "sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA==", - "requires": { - "@babel/runtime": "^7.5.5", - "@emotion/cache": "^10.0.27", - "@emotion/css": "^10.0.27", - "@emotion/serialize": "^0.11.15", - "@emotion/sheet": "0.9.4", - "@emotion/utils": "0.11.3" - }, - "dependencies": { - "@emotion/cache": { - "version": "10.0.29", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", - "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==", - "requires": { - "@emotion/sheet": "0.9.4", - "@emotion/stylis": "0.8.5", - "@emotion/utils": "0.11.3", - "@emotion/weak-memoize": "0.2.5" - } - }, - "@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" - }, - "@emotion/serialize": { - "version": "0.11.16", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", - "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", - "requires": { - "@emotion/hash": "0.8.0", - "@emotion/memoize": "0.7.4", - "@emotion/unitless": "0.7.5", - "@emotion/utils": "0.11.3", - "csstype": "^2.5.7" - } - }, - "@emotion/sheet": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", - "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" - }, - "@emotion/utils": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", - "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" - }, - "csstype": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz", - "integrity": "sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==" - } - } - }, - "@emotion/css": { - "version": "10.0.27", - "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", - "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", - "requires": { - "@emotion/serialize": "^0.11.15", - "@emotion/utils": "0.11.3", - "babel-plugin-emotion": "^10.0.27" - }, - "dependencies": { - "@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" - }, - "@emotion/serialize": { - "version": "0.11.16", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", - "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", - "requires": { - "@emotion/hash": "0.8.0", - "@emotion/memoize": "0.7.4", - "@emotion/unitless": "0.7.5", - "@emotion/utils": "0.11.3", - "csstype": "^2.5.7" - } - }, - "@emotion/utils": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", - "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" - }, - "csstype": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz", - "integrity": "sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==" - } - } - }, - "@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - }, - "@emotion/is-prop-valid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.0.0.tgz", - "integrity": "sha512-G5X0t7eR9pkhUvAY32QS3lToP9JyNF8It5CcmMvbWjmC9/Yq7IhevaKqxl+me2BKR93iTPiL/h3En1ZX/1G3PQ==", - "requires": { - "@emotion/memoize": "^0.7.4" - } - }, - "@emotion/memoize": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", - "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" - }, - "@emotion/react": { - "version": "11.1.4", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.1.4.tgz", - "integrity": "sha512-9gkhrW8UjV4IGRnEe4/aGPkUxoGS23aD9Vu6JCGfEDyBYL+nGkkRBoMFGAzCT9qFdyUvQp4UUtErbKWxq/JS4A==", - "requires": { - "@babel/runtime": "^7.7.2", - "@emotion/cache": "^11.1.3", - "@emotion/serialize": "^1.0.0", - "@emotion/sheet": "^1.0.1", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", - "hoist-non-react-statics": "^3.3.1" - } - }, - "@emotion/serialize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.0.tgz", - "integrity": "sha512-zt1gm4rhdo5Sry8QpCOpopIUIKU+mUSpV9WNmFILUraatm5dttNEaYzUWWSboSMUE6PtN2j1cAsuvcugfdI3mw==", - "requires": { - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.4", - "@emotion/unitless": "^0.7.5", - "@emotion/utils": "^1.0.0", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.1.tgz", - "integrity": "sha512-GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g==" - }, - "@emotion/styled": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.0.0.tgz", - "integrity": "sha512-498laccxJlBiJqrr2r/fx9q+Pr55D0URP2UyOkoSGLjevb8LLAFWueqthsQ5XijE66iGo7y3rzzEYdA7CHmZEQ==", - "requires": { - "@babel/runtime": "^7.7.2", - "@emotion/babel-plugin": "^11.0.0", - "@emotion/is-prop-valid": "^1.0.0", - "@emotion/serialize": "^1.0.0", - "@emotion/utils": "^1.0.0" - } - }, - "@emotion/stylis": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", - "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" - }, - "@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - }, - "@emotion/utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz", - "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" - }, - "@emotion/weak-memoize": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", - "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" - }, - "@eslint/eslintrc": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", - "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "requires": { - "type-fest": "^0.8.1" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - } - } - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==" - }, - "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "requires": { - "@hapi/hoek": "^8.3.0" - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==" - }, - "@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==" - } - } - }, - "read-pkg-up": { - "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==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "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" - } - } - } - }, - "@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "requires": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - } - }, - "@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", - "requires": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - } - }, - "@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - } - }, - "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==" - } - } - }, - "read-pkg-up": { - "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==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "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" - } - } - } - }, - "@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", - "requires": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" - } - }, - "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "@malept/cross-spawn-promise": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", - "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", - "requires": { - "cross-spawn": "^7.0.1" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.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==" - }, - "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==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" - }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - } - }, - "@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", - "requires": { - "mkdirp": "^1.0.4" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.2.tgz", - "integrity": "sha512-Loc4UDGutcZ+Bd56hBInkm6JyjyCwWy4t2wcDXzN8EDPANgVRj0VP8Nxn0Zq2pc+WKauZwEivQgbDGg4xZO20A==", - "requires": { - "ansi-html": "^0.0.7", - "error-stack-parser": "^2.0.6", - "html-entities": "^1.2.1", - "native-url": "^0.2.6", - "schema-utils": "^2.6.5", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - }, - "@popperjs/core": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.4.4.tgz", - "integrity": "sha512-1oO6+dN5kdIA3sKPZhRGJTfGVP4SWV6KqlMOwry4J3HfyD68sl/3KmG7DeYUzvN+RbhXDnv/D8vNNB8168tAMg==" - }, - "@reach/alert": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@reach/alert/-/alert-0.11.0.tgz", - "integrity": "sha512-7Rw+lrrIOhgNTVmk8YZsqoF+fyOiA+kJx23p9/FZq+d0MK28e6puUA1zpeWASdU1LDzS+vDJM5hUmj98NMM/nw==", - "requires": { - "@reach/utils": "0.11.0", - "@reach/visually-hidden": "0.11.0", - "prop-types": "^15.7.2", - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "@reach/auto-id": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@reach/auto-id/-/auto-id-0.11.0.tgz", - "integrity": "sha512-KwwnsnYTbTsYvRbSNqtaA1znaXP9G1I0z+bE0eFMNICvR+bHApaTu0aEEZNXfevq2LBrIMP6hZY9BokgTRcB3g==", - "requires": { - "@reach/utils": "0.11.0", - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "@reach/utils": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@reach/utils/-/utils-0.11.0.tgz", - "integrity": "sha512-A7Ofr1Biq4vUeTBYhbZ/YiLq1B/lEObbEoR2UiuQqCO1r093N95hZNcKqfFwpkRScjD87uob3wSYYGxvq9y/+w==", - "requires": { - "@types/warning": "^3.0.0", - "tslib": "^2.0.0", - "warning": "^4.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "@reach/visually-hidden": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@reach/visually-hidden/-/visually-hidden-0.11.0.tgz", - "integrity": "sha512-O67fK7jz01TYu/V57RiDsxKY29ReHdQkpq+OV0ijmXsv7g5r3Nys51Ry+IqPrJst4Ve5xxFbiJsTt/bGwxorrQ==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "@rollup/plugin-node-resolve": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz", - "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==", - "requires": { - "@rollup/pluginutils": "^3.0.8", - "@types/resolve": "0.0.8", - "builtin-modules": "^3.1.0", - "is-module": "^1.0.0", - "resolve": "^1.14.2" - } - }, - "@rollup/plugin-replace": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.3.4.tgz", - "integrity": "sha512-waBhMzyAtjCL1GwZes2jaE9MjuQ/DQF2BatH3fRivUF3z0JBFrU0U6iBNC/4WR+2rLKhaAhPWDNPYp4mI6RqdQ==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - } - } - }, - "@sideway/address": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.1.tgz", - "integrity": "sha512-+I5aaQr3m0OAmMr7RQ3fR9zx55sejEYR2BFJaxL+zT3VM2611X0SHvPWIbAUBZVTn/YzYKbV8gJ2oT/QELknfQ==", - "requires": { - "@hapi/hoek": "^9.0.0" - }, - "dependencies": { - "@hapi/hoek": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.1.tgz", - "integrity": "sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw==" - } - } - }, - "@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - }, - "@sinonjs/commons": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", - "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@styled-system/background": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/background/-/background-5.1.2.tgz", - "integrity": "sha512-jtwH2C/U6ssuGSvwTN3ri/IyjdHb8W9X/g8Y0JLcrH02G+BW3OS8kZdHphF1/YyRklnrKrBT2ngwGUK6aqqV3A==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/border": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@styled-system/border/-/border-5.1.5.tgz", - "integrity": "sha512-JvddhNrnhGigtzWRCVuAHepniyVi6hBlimxWDVAdcTuk7aRn9BYJUwfHslURtwYFsF5FoEs8Zmr1oZq2M1AP0A==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/color": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/color/-/color-5.1.2.tgz", - "integrity": "sha512-1kCkeKDZkt4GYkuFNKc7vJQMcOmTl3bJY3YBUs7fCNM6mMYJeT1pViQ2LwBSBJytj3AB0o4IdLBoepgSgGl5MA==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/core": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/core/-/core-5.1.2.tgz", - "integrity": "sha512-XclBDdNIy7OPOsN4HBsawG2eiWfCcuFt6gxKn1x4QfMIgeO6TOlA2pZZ5GWZtIhCUqEPTgIBta6JXsGyCkLBYw==", - "requires": { - "object-assign": "^4.1.1" - } - }, - "@styled-system/css": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@styled-system/css/-/css-5.1.5.tgz", - "integrity": "sha512-XkORZdS5kypzcBotAMPBoeckDs9aSZVkvrAlq5K3xP8IMAUek+x2O4NtwoSgkYkWWzVBu6DGdFZLR790QWGG+A==" - }, - "@styled-system/flexbox": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/flexbox/-/flexbox-5.1.2.tgz", - "integrity": "sha512-6hHV52+eUk654Y1J2v77B8iLeBNtc+SA3R4necsu2VVinSD7+XY5PCCEzBFaWs42dtOEDIa2lMrgL0YBC01mDQ==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/grid": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/grid/-/grid-5.1.2.tgz", - "integrity": "sha512-K3YiV1KyHHzgdNuNlaw8oW2ktMuGga99o1e/NAfTEi5Zsa7JXxzwEnVSDSBdJC+z6R8WYTCYRQC6bkVFcvdTeg==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/layout": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/layout/-/layout-5.1.2.tgz", - "integrity": "sha512-wUhkMBqSeacPFhoE9S6UF3fsMEKFv91gF4AdDWp0Aym1yeMPpqz9l9qS/6vjSsDPF7zOb5cOKC3tcKKOMuDCPw==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/position": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/position/-/position-5.1.2.tgz", - "integrity": "sha512-60IZfMXEOOZe3l1mCu6sj/2NAyUmES2kR9Kzp7s2D3P4qKsZWxD1Se1+wJvevb+1TP+ZMkGPEYYXRyU8M1aF5A==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/shadow": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/shadow/-/shadow-5.1.2.tgz", - "integrity": "sha512-wqniqYb7XuZM7K7C0d1Euxc4eGtqEe/lvM0WjuAFsQVImiq6KGT7s7is+0bNI8O4Dwg27jyu4Lfqo/oIQXNzAg==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/space": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/space/-/space-5.1.2.tgz", - "integrity": "sha512-+zzYpR8uvfhcAbaPXhH8QgDAV//flxqxSjHiS9cDFQQUSznXMQmxJegbhcdEF7/eNnJgHeIXv1jmny78kipgBA==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/typography": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@styled-system/typography/-/typography-5.1.2.tgz", - "integrity": "sha512-BxbVUnN8N7hJ4aaPOd7wEsudeT7CxarR+2hns8XCX1zp0DFfbWw4xYa/olA0oQaqx7F1hzDg+eRaGzAJbF+jOg==", - "requires": { - "@styled-system/core": "^5.1.2" - } - }, - "@styled-system/variant": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@styled-system/variant/-/variant-5.1.5.tgz", - "integrity": "sha512-Yn8hXAFoWIro8+Q5J8YJd/mP85Teiut3fsGVR9CAxwgNfIAiqlYxsk5iHU7VHJks/0KjL4ATSjmbtCDC/4l1qw==", - "requires": { - "@styled-system/core": "^5.1.2", - "@styled-system/css": "^5.1.5" - } - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz", - "integrity": "sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==", - "requires": { - "ejs": "^2.6.1", - "magic-string": "^0.25.0" - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.4.0.tgz", - "integrity": "sha512-LjepnS/BSAvelnOnnzr6Gg0GcpLmnZ9ThGFK5WJtm1xOqdBE/1IACZU7MMdVzjyUkfFqGz87eRE4hFaSLiUwYg==", - "requires": { - "@babel/core": "^7.9.0", - "@babel/plugin-transform-react-constant-elements": "^7.9.0", - "@babel/preset-env": "^7.9.5", - "@babel/preset-react": "^7.9.4", - "@svgr/core": "^5.4.0", - "@svgr/plugin-jsx": "^5.4.0", - "@svgr/plugin-svgo": "^5.4.0", - "loader-utils": "^2.0.0" - } - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@testing-library/dom": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.0.tgz", - "integrity": "sha512-0hhuJSmw/zLc6ewR9cVm84TehuTd7tbqBX9pRNSp8znJ9gTmSgesdbiGZtt8R6dL+2rgaPFp9Yjr7IU1HWm49w==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^4.2.2", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.4", - "lz-string": "^1.4.4", - "pretty-format": "^26.6.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==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "@testing-library/jest-dom": { - "version": "5.11.6", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.6.tgz", - "integrity": "sha512-cVZyUNRWwUKI0++yepYpYX7uhrP398I+tGz4zOlLVlUYnZS+Svuxv4fwLeCIy7TnBYKXUaOlQr3vopxL8ZfEnA==", - "requires": { - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^4.2.2", - "chalk": "^3.0.0", - "css": "^3.0.0", - "css.escape": "^1.5.1", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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==" - }, - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.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==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/react": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-11.2.2.tgz", - "integrity": "sha512-jaxm0hwUjv+hzC+UFEywic7buDC9JQ1q3cDsrWVSDAPmLotfA6E6kUHlYm/zOeGCac6g48DR36tFHxl7Zb+N5A==", - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^7.28.1" - } - }, - "@testing-library/user-event": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.6.0.tgz", - "integrity": "sha512-FNEH/HLmOk5GO70I52tKjs7WvGYckeE/SrnLX/ip7z2IGbffyd5zOUM1tZ10vsTphqm+VbDFI0oaXu0wcfQsAQ==", - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==" - }, - "@types/aria-query": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.0.tgz", - "integrity": "sha512-iIgQNzCm0v7QMhhe4Jjn9uRh+I6GoPmt03CbEtwx3ao8/EfoQcmgtqH4vQ5Db/lxiIGaWDv6nwvunuh0RyX0+A==" - }, - "@types/babel__core": { - "version": "7.1.12", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", - "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", - "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", - "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", - "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" - }, - "@types/debug": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", - "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" - }, - "@types/eslint": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", - "integrity": "sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/estree": { - "version": "0.0.45", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", - "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==" - }, - "@types/fs-extra": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.11.tgz", - "integrity": "sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA==", - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", - "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", - "requires": { - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==" - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", - "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "26.0.19", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.19.tgz", - "integrity": "sha512-jqHoirTG61fee6v6rwbnEuKhpSKih0tuhqeFbCmMmErhtu3BYlOZaXWjffgOstMM4S/3iQD31lI5bGLTrs97yQ==", - "requires": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" - }, - "@types/lodash": { - "version": "4.14.167", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.167.tgz", - "integrity": "sha512-w7tQPjARrvdeBkX/Rwg95S592JwxqOjmms3zWQ0XZgSyxSLdzWaYH3vErBhdVS/lRBX7F8aBYcYJYTr5TMGOzw==" - }, - "@types/lodash.mergewith": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz", - "integrity": "sha512-RY/8IaVENjG19rxTZu9Nukqh0W2UrYgmBj5sdns4hWRZaV8PqR7wIKHFKzvOTjo4zVRV7sVI+yFhAJql12Kfqg==", - "requires": { - "@types/lodash": "*" - } - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - }, - "@types/node": { - "version": "14.14.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.16.tgz", - "integrity": "sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw==" - }, - "@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==" - }, - "@types/object-assign": { - "version": "4.0.30", - "resolved": "https://registry.npmjs.org/@types/object-assign/-/object-assign-4.0.30.tgz", - "integrity": "sha1-iUk3HVqZ9Dge4PHfCpt6GH4H5lI=" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/plist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.2.tgz", - "integrity": "sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==", - "optional": true, - "requires": { - "@types/node": "*", - "xmlbuilder": ">=11.0.1" - } - }, - "@types/prettier": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", - "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==" - }, - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" - }, - "@types/react-calendar": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/react-calendar/-/react-calendar-3.1.4.tgz", - "integrity": "sha512-7yDdyPnNaKqOIp97NmPhDxaXb7pBSag+pYWBtt+vBJyyqqiMMtXzv5bdEWjVN7AWmfWdmzGsP8kg+TzvGvwwQg==" - }, - "@types/resolve": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", - "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==" - }, - "@types/stack-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", - "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==" - }, - "@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==" - }, - "@types/testing-library__jest-dom": { - "version": "5.9.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz", - "integrity": "sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ==", - "requires": { - "@types/jest": "*" - } - }, - "@types/tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-PeHg/AtdW6aaIO2a+98Xj7rWY4KC1E6yOy7AFknJQ7VXUGNrMlyxDFxJo7HqLtjQms/ZhhQX52mLVW/EX3JGOw==" - }, - "@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@types/verror": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.4.tgz", - "integrity": "sha512-OjJdqx6QlbyZw9LShPwRW+Kmiegeg3eWNI41MQQKaG3vjdU2L9SRElntM51HmHBY1cu7izxQJ1lMYioQh3XMBg==", - "optional": true - }, - "@types/warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI=" - }, - "@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", - "requires": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "*", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - }, - "@types/yargs": { - "version": "15.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", - "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.11.1.tgz", - "integrity": "sha512-fABclAX2QIEDmTMk6Yd7Muv1CzFLwWM4505nETzRHpP3br6jfahD9UUJkhnJ/g2m7lwfz8IlswcwGGPGiq9exw==", - "requires": { - "@typescript-eslint/experimental-utils": "4.11.1", - "@typescript-eslint/scope-manager": "4.11.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.11.1.tgz", - "integrity": "sha512-mAlWowT4A6h0TC9F+J5pdbEhjNiEMO+kqPKQ4sc3fVieKL71dEqfkKgtcFVSX3cjSBwYwhImaQ/mXQF0oaI38g==", - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.11.1", - "@typescript-eslint/types": "4.11.1", - "@typescript-eslint/typescript-estree": "4.11.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.11.1.tgz", - "integrity": "sha512-BJ3jwPQu1jeynJ5BrjLuGfK/UJu6uwHxJ/di7sanqmUmxzmyIcd3vz58PMR7wpi8k3iWq2Q11KMYgZbUpRoIPw==", - "requires": { - "@typescript-eslint/scope-manager": "4.11.1", - "@typescript-eslint/types": "4.11.1", - "@typescript-eslint/typescript-estree": "4.11.1", - "debug": "^4.1.1" - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.11.1.tgz", - "integrity": "sha512-Al2P394dx+kXCl61fhrrZ1FTI7qsRDIUiVSuN6rTwss6lUn8uVO2+nnF4AvO0ug8vMsy3ShkbxLu/uWZdTtJMQ==", - "requires": { - "@typescript-eslint/types": "4.11.1", - "@typescript-eslint/visitor-keys": "4.11.1" - } - }, - "@typescript-eslint/types": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.11.1.tgz", - "integrity": "sha512-5kvd38wZpqGY4yP/6W3qhYX6Hz0NwUbijVsX2rxczpY6OXaMxh0+5E5uLJKVFwaBM7PJe1wnMym85NfKYIh6CA==" - }, - "@typescript-eslint/typescript-estree": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.11.1.tgz", - "integrity": "sha512-tC7MKZIMRTYxQhrVAFoJq/DlRwv1bnqA4/S2r3+HuHibqvbrPcyf858lNzU7bFmy4mLeIHFYr34ar/1KumwyRw==", - "requires": { - "@typescript-eslint/types": "4.11.1", - "@typescript-eslint/visitor-keys": "4.11.1", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.11.1.tgz", - "integrity": "sha512-IrlBhD9bm4bdYcS8xpWarazkKXlE7iYb1HzRuyBP114mIaj5DJPo11Us1HgH60dTt41TCZXMaTCAW+OILIYPOg==", - "requires": { - "@typescript-eslint/types": "4.11.1", - "eslint-visitor-keys": "^2.0.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@wojtekmaj/date-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@wojtekmaj/date-utils/-/date-utils-1.0.3.tgz", - "integrity": "sha512-1VPkkTBk07gMR1fjpBtse4G+oJqpmE+0gUFB0dg3VIL7qJmUVaBoD/vlzMm/jNeOPfvlmerl1lpnsZyBUFIRuw==" - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "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==" - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" - }, - "adjust-sourcemap-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", - "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "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-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==" - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "requires": { - "string-width": "^3.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==" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "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=" - }, - "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==", - "requires": { - "emoji-regex": "^7.0.1", - "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==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "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==", - "requires": { - "type-fest": "^0.11.0" - }, - "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==" - } - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "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" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "app-builder-bin": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.12.tgz", - "integrity": "sha512-lQARM2AielmFoBeIo6LZigAe+58Wwe07ZWkt+wVeDxzyieNmeWjlvz/V5dKzinydwdHd+CNswN86sww46yijjA==" - }, - "app-builder-lib": { - "version": "22.10.5", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.10.5.tgz", - "integrity": "sha512-/W8nlGamJCtKlQtsMWwU9vb+cX4pTNY+rJWCuc7oXUykVSMS50W7LhQusIjCelNfymUQ1XCu6cXEY/ylqhX12A==", - "requires": { - "7zip-bin": "~5.0.3", - "@develar/schema-utils": "~2.6.5", - "@electron/universal": "1.0.4", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "22.10.5", - "builder-util-runtime": "8.7.3", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.2", - "ejs": "^3.1.6", - "electron-publish": "22.10.5", - "fs-extra": "^9.1.0", - "hosted-git-info": "^3.0.8", - "is-ci": "^2.0.0", - "istextorbinary": "^5.12.0", - "js-yaml": "^4.0.0", - "lazy-val": "^1.0.4", - "minimatch": "^3.0.4", - "normalize-package-data": "^3.0.0", - "read-config-file": "6.0.0", - "sanitize-filename": "^1.6.3", - "semver": "^7.3.4", - "temp-file": "^3.3.7" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "ejs": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", - "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", - "requires": { - "jake": "^10.6.1" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", - "requires": { - "argparse": "^2.0.1" - } - }, - "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-hidden": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.1.1.tgz", - "integrity": "sha512-M7zYxCcOQPOaxGHoMTKUFD2UNcVFTp9ycrdStLcTPLf8zgTXC3+YcGe+UuzSh5X1BX/0/PtS8xTNy4xyH/6xtw==", - "requires": { - "tslib": "^1.0.0" - } - }, - "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - } - }, - "arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=" - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-includes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", - "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "get-intrinsic": "^1.0.1", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" - } - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asar": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", - "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", - "requires": { - "@types/glob": "^7.1.1", - "chromium-pickle-js": "^0.2.0", - "commander": "^5.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4" - }, - "dependencies": { - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - } - } - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axe-core": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.1.tgz", - "integrity": "sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ==" - }, - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "requires": { - "follow-redirects": "^1.10.0" - } - }, - "axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "babel-extract-comments": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", - "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", - "requires": { - "babylon": "^6.18.0" - } - }, - "babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "requires": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-emotion": { - "version": "10.0.33", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz", - "integrity": "sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@emotion/hash": "0.8.0", - "@emotion/memoize": "0.7.4", - "@emotion/serialize": "^0.11.16", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^1.0.5", - "find-root": "^1.1.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" - }, - "@emotion/serialize": { - "version": "0.11.16", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", - "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", - "requires": { - "@emotion/hash": "0.8.0", - "@emotion/memoize": "0.7.4", - "@emotion/unitless": "0.7.5", - "@emotion/utils": "0.11.3", - "csstype": "^2.5.7" - } - }, - "@emotion/utils": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", - "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" - }, - "csstype": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz", - "integrity": "sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==" - } - } - }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "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==", - "requires": { - "@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==", - "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" - } - } - } - }, - "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==" - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" - }, - "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", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "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==" - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", - "requires": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "babel-preset-react-app": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.0.tgz", - "integrity": "sha512-itL2z8v16khpuKutx5IH8UdCdSTuzrOhRFTEdIhveZ2i1iBKDrVE0ATa4sFVy+02GLucZNVBWtoarXBy0Msdpg==", - "requires": { - "@babel/core": "7.12.3", - "@babel/plugin-proposal-class-properties": "7.12.1", - "@babel/plugin-proposal-decorators": "7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1", - "@babel/plugin-proposal-numeric-separator": "7.12.1", - "@babel/plugin-proposal-optional-chaining": "7.12.1", - "@babel/plugin-transform-flow-strip-types": "7.12.1", - "@babel/plugin-transform-react-display-name": "7.12.1", - "@babel/plugin-transform-runtime": "7.12.1", - "@babel/preset-env": "7.12.1", - "@babel/preset-react": "7.12.1", - "@babel/preset-typescript": "7.12.1", - "@babel/runtime": "7.12.1", - "babel-plugin-macros": "2.8.0", - "babel-plugin-transform-react-remove-prop-types": "0.4.24" - }, - "dependencies": { - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz", - "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz", - "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/preset-env": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz", - "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==", - "requires": { - "@babel/compat-data": "^7.12.1", - "@babel/helper-compilation-targets": "^7.12.1", - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.1", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.1", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.1", - "core-js-compat": "^3.6.2", - "semver": "^5.5.0" - } - }, - "@babel/preset-react": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.1.tgz", - "integrity": "sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-react-display-name": "^7.12.1", - "@babel/plugin-transform-react-jsx": "^7.12.1", - "@babel/plugin-transform-react-jsx-development": "^7.12.1", - "@babel/plugin-transform-react-jsx-self": "^7.12.1", - "@babel/plugin-transform-react-jsx-source": "^7.12.1", - "@babel/plugin-transform-react-pure-annotations": "^7.12.1" - } - }, - "@babel/runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz", - "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "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==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "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=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "optional": true - }, - "binaryextensions": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.15.0.tgz", - "integrity": "sha512-MkUl3szxXolQ2scI1PM14WOT951KnaTNJ0eMKg7WzOI4kvSxyNo/Cygx4LOBNhwyINhAuSQpJW1rYD9aBSxGaw==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bluebird-lst": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", - "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", - "requires": { - "bluebird": "^3.5.5" - } - }, - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "boolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.3.tgz", - "integrity": "sha512-EqrTKXQX6Z3A2nRmMEIlAIfjQOgFnVO2nqZGpbcsPnYGWBwpFqzlrozU1dy+S2iqfYDLh26ef4KrgTxu9xQrxA==", - "optional": true - }, - "boxen": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", - "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.0", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "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==" - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", - "requires": { - "caniuse-lite": "^1.0.30001165", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", - "escalade": "^3.1.1", - "node-releases": "^1.1.67" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builder-util": { - "version": "22.10.5", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.10.5.tgz", - "integrity": "sha512-/MkLhmyo1gU3xMwXJxccQaRj/9tm5eTd6ZyebTf8SYouY4r3hRser+LxhOm/f8Z9W6oJvfPe0jc9TFsxYfMcsg==", - "requires": { - "7zip-bin": "~5.0.3", - "@types/debug": "^4.1.5", - "@types/fs-extra": "^9.0.7", - "app-builder-bin": "3.5.12", - "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.7.3", - "chalk": "^4.1.0", - "debug": "^4.3.2", - "fs-extra": "^9.1.0", - "is-ci": "^2.0.0", - "js-yaml": "^4.0.0", - "source-map-support": "^0.5.19", - "stat-mode": "^1.0.0", - "temp-file": "^3.3.7" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.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==" - }, - "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", - "requires": { - "argparse": "^2.0.1" - } - }, - "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" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "builder-util-runtime": { - "version": "8.7.3", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz", - "integrity": "sha512-1Q2ReBqFblimF5g/TLg2+0M5Xzv0Ih5LxJ/BMWXvEy/e6pQKeeEpbkPMGsN6OiQgkygaZo5VXCXIjOkOQG5EoQ==", - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - } - } - }, - "builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", - "requires": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - }, - "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" - } - } - }, - "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001171", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001171.tgz", - "integrity": "sha512-5Alrh8TTYPG9IH4UkRqEBZoEToWRLvPbSQokvzSz0lii8/FOWKG4keO1HoYfPWs8IF/NH/dyNPg1cmJGvV3Zlg==" - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "requires": { - "rsvp": "^4.8.4" - } - }, - "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", - "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "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" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "chart.js": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", - "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", - "requires": { - "chartjs-color": "^2.1.0", - "moment": "^2.10.2" - } - }, - "chartjs-color": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", - "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", - "requires": { - "chartjs-color-string": "^0.6.0", - "color-convert": "^1.9.3" - } - }, - "chartjs-color-string": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", - "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", - "requires": { - "color-name": "^1.0.0" - } - }, - "check-types": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", - "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" - }, - "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "dependencies": { - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - } - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "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==", - "requires": { - "tslib": "^1.9.0" - } - }, - "chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=" - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" - }, - "ckeditor5": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-27.1.0.tgz", - "integrity": "sha512-XBoMqrML4mmQozSBXgZfFUBJPN3ErTls0wQhP8YkOiglhNXSBaLIE07QKcB0/H/lA2luqxijJGSXw7sr5SWE1A==", - "requires": { - "@ckeditor/ckeditor5-clipboard": "^27.1.0", - "@ckeditor/ckeditor5-core": "^27.1.0", - "@ckeditor/ckeditor5-engine": "^27.1.0", - "@ckeditor/ckeditor5-enter": "^27.1.0", - "@ckeditor/ckeditor5-paragraph": "^27.1.0", - "@ckeditor/ckeditor5-select-all": "^27.1.0", - "@ckeditor/ckeditor5-typing": "^27.1.0", - "@ckeditor/ckeditor5-ui": "^27.1.0", - "@ckeditor/ckeditor5-undo": "^27.1.0", - "@ckeditor/ckeditor5-upload": "^27.1.0", - "@ckeditor/ckeditor5-utils": "^27.1.0", - "@ckeditor/ckeditor5-widget": "^27.1.0" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - }, - "cli-truncate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", - "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", - "optional": true, - "requires": { - "slice-ansi": "^1.0.0", - "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=", - "optional": 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=", - "optional": 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==", - "optional": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "optional": true, - "requires": { - "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=", - "optional": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "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==", - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" - } - }, - "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-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - }, - "common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", - "requires": { - "arity-n": "^1.0.4" - } - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "compute-scroll-into-view": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz", - "integrity": "sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "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" - } - } - } - }, - "concurrently": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.0.1.tgz", - "integrity": "sha512-YCF/Wf31a910hXu7eGN9/SyHKD/usw3Shw4IPYuqIsxxC39v92engYlIlOs/zXnBJtX/6aVuhgzfhZeGJkhU4w==", - "requires": { - "chalk": "^4.1.0", - "date-fns": "^2.16.1", - "lodash": "^4.17.20", - "read-pkg": "^5.2.0", - "rxjs": "^6.6.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "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" - } - } - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "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==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" - } - } - }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "optional": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - } - } - }, - "confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==" - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "copy-to-clipboard": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", - "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", - "requires": { - "toggle-selection": "^1.0.6" - } - }, - "core-js": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz", - "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==" - }, - "core-js-compat": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", - "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", - "requires": { - "browserslist": "^4.15.0", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - } - } - }, - "core-js-pure": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.1.tgz", - "integrity": "sha512-Se+LaxqXlVXGvmexKGPvnUIYC1jwXu1H6Pkyb3uBM5d8/NELMYCHs/4/roD7721NxrTLyv7e5nXd5/QLBO+10g==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "optional": true, - "requires": { - "buffer": "^5.1.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "optional": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "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==" - } - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.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==" - } - } - }, - "css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "requires": { - "postcss": "^7.0.5" - } - }, - "css-box-model": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", - "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", - "requires": { - "tiny-invariant": "^1.0.6" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-get-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-get-unit/-/css-get-unit-1.0.1.tgz", - "integrity": "sha1-5JC55Wss0g+QOiLMr7RIOC7feXY=" - }, - "css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "css-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.3.0.tgz", - "integrity": "sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==", - "requires": { - "camelcase": "^6.0.0", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^2.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.3", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.1", - "semver": "^7.3.2" - } - }, - "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", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "requires": { - "postcss": "^7.0.5" - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=" - }, - "cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "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==", - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - } - } - }, - "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==", - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "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", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "requires": { - "postcss": "^7.0.0" - } - }, - "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", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "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==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "csstype": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "damerau-levenshtein": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", - "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "date-fns": { - "version": "2.20.2", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.20.2.tgz", - "integrity": "sha512-QS0Z8SD/ALhKFvhtU4Fhz+1crsI7fPzBquXmdWay33KJPEU7btro2hnmmErpQRmt2D624B1lbjXQKDUMLnQTmQ==" - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "dequal": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", - "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-element-overflow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/detect-element-overflow/-/detect-element-overflow-1.2.0.tgz", - "integrity": "sha512-Jtr9ivYPhpd9OJux+hjL0QjUKiS1Ghgy8tvIufUjFslQgIWvgGr4mn57H190APbKkiOmXnmtMI6ytaKzMusecg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" - }, - "detect-node-es": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.0.0.tgz", - "integrity": "sha512-S4AHriUkTX9FoFvL4G8hXDcx6t3gp2HpfCza3Q0v6S78gul2hKWifLQbeW+ZF89+hSm2ZIc/uF3J97ZgytgTRg==" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "dir-compare": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz", - "integrity": "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==", - "requires": { - "buffer-equal": "1.0.0", - "colors": "1.0.3", - "commander": "2.9.0", - "minimatch": "3.0.4" - }, - "dependencies": { - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dmg-builder": { - "version": "22.10.5", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.10.5.tgz", - "integrity": "sha512-58FEpfH8PEFqjbUNka4bYr52snRT8+LSXrP4gy6EZWOVICbOlmTOYj988pfoLam5C5iXb3odmyUQqwWOxlsEUw==", - "requires": { - "app-builder-lib": "22.10.5", - "builder-util": "22.10.5", - "dmg-license": "^1.0.8", - "fs-extra": "^9.1.0", - "iconv-lite": "^0.6.2", - "js-yaml": "^4.0.0", - "sanitize-filename": "^1.6.3" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", - "requires": { - "argparse": "^2.0.1" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "dmg-license": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.8.tgz", - "integrity": "sha512-47GOb6b4yVzpovXC34heXElpH++ICg9GuWBeOTaokUNLAoAdWpE4VehudYEEtu96j2jXsgQWYf78nW7r+0Y3eg==", - "optional": true, - "requires": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "cli-truncate": "^1.1.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.5", - "plist": "^3.0.1", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz", - "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==" - }, - "dom-align": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz", - "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA==" - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "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==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "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==", - "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" - } - } - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "editions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/editions/-/editions-6.1.0.tgz", - "integrity": "sha512-h6nWEyIocfgho9J3sTSuhU/WoFOu1hTX75rPBebNrbF38Y9QFDjCDizYXdikHTySW7Y3mSxli8bpDz9RAtc7rA==", - "requires": { - "errlop": "^4.0.0", - "version-range": "^1.0.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" - }, - "electron": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-12.0.2.tgz", - "integrity": "sha512-14luh9mGzfL4e0sncyy0+kW37IU7Y0Y1tvI97FDRSW0ZBQxi5cmAwSs5dmPmNBFBIGtzkaGaEB01j9RjZuCmow==", - "requires": { - "@electron/get": "^1.0.1", - "@types/node": "^14.6.2", - "extract-zip": "^1.0.3" - } - }, - "electron-builder": { - "version": "22.10.5", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.10.5.tgz", - "integrity": "sha512-0q/289UUJUhRou6lZKDz/wzK6WprIQ6VXMTmaI+w9qXvSNugPC9UA5s2zXInOkjZOvO/xKnjeyiavrVSHYF3tA==", - "requires": { - "@types/yargs": "^15.0.13", - "app-builder-lib": "22.10.5", - "bluebird-lst": "^1.0.9", - "builder-util": "22.10.5", - "builder-util-runtime": "8.7.3", - "chalk": "^4.1.0", - "dmg-builder": "22.10.5", - "fs-extra": "^9.1.0", - "is-ci": "^2.0.0", - "lazy-val": "^1.0.4", - "read-config-file": "6.0.0", - "sanitize-filename": "^1.6.3", - "update-notifier": "^5.1.0", - "yargs": "^16.2.0" - }, - "dependencies": { - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", - "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "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": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.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==" - }, - "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" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" - } - } - }, - "electron-is-dev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-2.0.0.tgz", - "integrity": "sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==" - }, - "electron-publish": { - "version": "22.10.5", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.10.5.tgz", - "integrity": "sha512-dHyuazv3P3j1Xyv7pdwTwAvxWab2pCb0G0Oa6qWQoCc4b1/mRGY00M7AvYW1cPuUijj9zYAf1HmXfM6MifaMlA==", - "requires": { - "@types/fs-extra": "^9.0.7", - "bluebird-lst": "^1.0.9", - "builder-util": "22.10.5", - "builder-util-runtime": "8.7.3", - "chalk": "^4.1.0", - "fs-extra": "^9.1.0", - "lazy-val": "^1.0.4", - "mime": "^2.5.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.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==" - }, - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" - }, - "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" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "electron-to-chromium": { - "version": "1.3.633", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz", - "integrity": "sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==" - }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "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==", - "requires": { - "base64-arraybuffer": "0.1.4", - "component-emitter": "~1.3.0", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.1", - "has-cors": "1.1.0", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "ws": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", - "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==" - } - } - }, - "engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", - "requires": { - "base64-arraybuffer": "0.1.4" - } - }, - "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "requires": { - "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==", - "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" - } - } - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "errlop": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/errlop/-/errlop-4.1.0.tgz", - "integrity": "sha512-vul6gGBuVt0M2TPi1/WrcL86+Hb3Q2Tpu3TME3sbVhZrYf7J1ZMHCodI25RQKCVurh56qTfvgM0p3w5cT4reSQ==" - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "requires": { - "stackframe": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "optional": true - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "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 - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.16.0.tgz", - "integrity": "sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", - "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", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "requires": { - "type-fest": "^0.8.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "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==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "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" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "eslint-config-react-app": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz", - "integrity": "sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==", - "requires": { - "confusing-browser-globals": "^1.0.10" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "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=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "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=", - "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=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "requires": { - "find-up": "^2.1.0" - } - } - } - }, - "eslint-plugin-flowtype": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.0.tgz", - "integrity": "sha512-z7ULdTxuhlRJcEe1MVljePXricuPOrsWfScRXFhNzVD5dmTHWjIF57AxD0e7AbEoLSbjSsaA5S+hCg43WvpXJQ==", - "requires": { - "lodash": "^4.17.15", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "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", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "eslint-plugin-jest": { - "version": "24.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.1.3.tgz", - "integrity": "sha512-dNGGjzuEzCE3d5EPZQ/QGtmlMotqnYWD/QpCZ1UuZlrMAdhG5rldh0N0haCvhGnUkSeuORS5VNROwF9Hrgn3Lg==", - "requires": { - "@typescript-eslint/experimental-utils": "^4.0.1" - } - }, - "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", - "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", - "requires": { - "@babel/runtime": "^7.11.2", - "aria-query": "^4.2.2", - "array-includes": "^3.1.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.0.2", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.6", - "emoji-regex": "^9.0.0", - "has": "^1.0.3", - "jsx-ast-utils": "^3.1.0", - "language-tags": "^1.0.5" - }, - "dependencies": { - "emoji-regex": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.0.tgz", - "integrity": "sha512-DNc3KFPK18bPdElMJnf/Pkv5TXhxFU3YFDEuGLDRtPmV4rkmCjBkCSEp22u6rBHdSN9Vlp/GK7k98prmE1Jgug==" - } - } - }, - "eslint-plugin-react": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz", - "integrity": "sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==", - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", - "prop-types": "^15.7.2", - "resolve": "^1.18.1", - "string.prototype.matchall": "^4.0.2" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", - "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==" - }, - "eslint-plugin-testing-library": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.1.tgz", - "integrity": "sha512-nQIFe2muIFv2oR2zIuXE4vTbcFNx8hZKRzgHZqJg8rfopIWwoTwtlbCCNELT/jXzVe1uZF68ALGYoDXjLczKiQ==", - "requires": { - "@typescript-eslint/experimental-utils": "^3.10.1" - }, - "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", - "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/types": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", - "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==" - }, - "@typescript-eslint/typescript-estree": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", - "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", - "requires": { - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/visitor-keys": "3.10.1", - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", - "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "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==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==" - }, - "eslint-webpack-plugin": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.4.1.tgz", - "integrity": "sha512-cj8iPWZKuAiVD8MMgTSunyMCAvxQxp5mxoPHZl1UMGkApFXaXJHdCFcCR+oZEJbBNhReNa5SjESIn34uqUbBtg==", - "requires": { - "@types/eslint": "^7.2.4", - "arrify": "^2.0.1", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "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==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "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==", - "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==" - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - } - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", - "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", - "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "fastq": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", - "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "requires": { - "bser": "2.1.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "requires": { - "pend": "~1.2.0" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" - }, - "file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz", - "integrity": "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "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==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, - "filelist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", - "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "filesize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", - "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", - "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==" - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "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==", - "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" - } - } - } - }, - "focus-lock": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.7.0.tgz", - "integrity": "sha512-LI7v2mH02R55SekHYdv9pRHR9RajVNyIJ2N5IEkWbg7FT5ZmJ9Hw4mWxHeEUcd+dJo0QmzztHvDvWcc7prVFsw==" - }, - "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "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==", - "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": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "framer-motion": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-3.1.1.tgz", - "integrity": "sha512-Gm1QSb0xUxuhcPar5FIs5Ws+STrhLZ6XZf2Io8dVwFofe1OzwkL9asGFVu7z3y6WqC4Hvnxm7wsW5SBHlxZDYw==", - "requires": { - "@emotion/is-prop-valid": "^0.8.2", - "framesync": "^5.0.0", - "hey-listen": "^1.0.8", - "popmotion": "^9.0.2", - "style-value-types": "^3.2.0", - "tslib": "^1.10.0" - }, - "dependencies": { - "@emotion/is-prop-valid": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", - "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", - "optional": true, - "requires": { - "@emotion/memoize": "0.7.4" - } - }, - "@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", - "optional": true - } - } - }, - "framesync": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.0.0.tgz", - "integrity": "sha512-wd8t+JsQGisluSv1twiEeDv0aNGpavGb9q7xgIk9fGbcIWkNXF/KVtrjnOrCwBWJuiXxlJfNkcvGudsI32FxYA==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "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==", - "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" - } - } - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 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" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.2.1.tgz", - "integrity": "sha512-bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-user-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-user-locale/-/get-user-locale-1.4.0.tgz", - "integrity": "sha512-gQo03lP1OArHLKlnoglqrGGl7b04u2EP9Xutmp72cMdtrrSD7ZgIsCsUKZynYWLDkVJW33Cj3pliP7uP0UonHQ==", - "requires": { - "lodash.once": "^4.1.1" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-agent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.2.0.tgz", - "integrity": "sha512-+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg==", - "optional": true, - "requires": { - "boolean": "^3.0.1", - "core-js": "^3.6.5", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" - } - }, - "global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "requires": { - "ini": "2.0.0" - }, - "dependencies": { - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - } - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - }, - "global-tunnel-ng": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", - "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", - "optional": true, - "requires": { - "encodeurl": "^1.0.2", - "lodash": "^4.17.10", - "npm-conf": "^1.1.3", - "tunnel": "^0.0.6" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globalthis": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz", - "integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==", - "optional": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "optional": true - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "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==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "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==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "hey-listen": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", - "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" - }, - "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "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==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "requires": { - "inherits": "^2.0.1", - "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==", - "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" - } - } - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "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==" - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "requires": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - } - }, - "html-webpack-plugin": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", - "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==", - "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.15", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "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" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "iconv-corefoundation": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.5.tgz", - "integrity": "sha512-hI4m7udfV04OcjleOmDaR4gwXnH4xumxN+ZmywHDiKf2CmAzsT9SVYe7Y4pdnQbyZfXwAQyrElykbE5PrPRfmQ==", - "optional": true, - "requires": { - "cli-truncate": "^1.1.0", - "node-addon-api": "^1.6.3" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "requires": { - "postcss": "^7.0.14" - } - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - }, - "immer": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/immer/-/immer-7.0.9.tgz", - "integrity": "sha512-Vs/gxoM4DqNAYR7pugIxi0Xc8XAun/uy7AQu4fLLqaTBHxjOP9pJ266Q9MWA/ly4z6rAFZbvViOtihxUZ7O28A==" - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - } - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "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==", - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } - }, - "internal-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", - "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", - "requires": { - "es-abstract": "^1.17.0-next.1", - "has": "^1.0.3", - "side-channel": "^1.0.2" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "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==", - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" - }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "dependencies": { - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - } - } - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", - "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=" - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "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", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.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==" - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "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" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "istextorbinary": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-5.12.0.tgz", - "integrity": "sha512-wLDRWD7qpNTYubk04+q3en1+XZGS4vYWK0+SxNSXJLaITMMEK+J3o/TlOMyULeH1qozVZ9uUkKcyMA8odyxz8w==", - "requires": { - "binaryextensions": "^4.15.0", - "editions": "^6.1.0", - "textextensions": "^5.11.0" - } - }, - "jake": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", - "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", - "requires": { - "async": "0.9.x", - "chalk": "^2.4.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" - } - } - }, - "jest": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz", - "integrity": "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==", - "requires": { - "@jest/core": "^26.6.0", - "import-local": "^3.0.2", - "jest-cli": "^26.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "requires": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - } - }, - "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" - } - } - } - }, - "jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", - "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.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==" - }, - "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==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "jest-circus": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-26.6.0.tgz", - "integrity": "sha512-L2/Y9szN6FJPWFK8kzWXwfp+FOR7xq0cUL4lIsdbIdwz3Vh6P1nrpcqOleSzr28zOtSHQNV9Z7Tl+KkuK7t5Ng==", - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.0", - "@jest/test-result": "^26.6.0", - "@jest/types": "^26.6.0", - "@types/babel__traverse": "^7.0.4", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^26.6.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.0", - "jest-matcher-utils": "^26.6.0", - "jest-message-util": "^26.6.0", - "jest-runner": "^26.6.0", - "jest-runtime": "^26.6.0", - "jest-snapshot": "^26.6.0", - "jest-util": "^26.6.0", - "pretty-format": "^26.6.0", - "stack-utils": "^2.0.2", - "throat": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.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==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==" - } - } - }, - "read-pkg-up": { - "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==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "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" - } - } - } - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.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==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.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==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" - } - }, - "jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", - "requires": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", - "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.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==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.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==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" - }, - "jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==" - }, - "jest-resolve": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz", - "integrity": "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==", - "requires": { - "@jest/types": "^26.6.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.0", - "read-pkg-up": "^7.0.1", - "resolve": "^1.17.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==" - } - } - }, - "read-pkg-up": { - "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==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "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" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", - "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - } - }, - "jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==" - } - } - }, - "read-pkg-up": { - "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==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "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" - } - } - } - }, - "jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==" - } - } - }, - "read-pkg-up": { - "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==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "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" - } - } - } - }, - "jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - } - }, - "jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.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==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==" - } - } - }, - "read-pkg-up": { - "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==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "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" - } - } - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.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==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", - "requires": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.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==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-watch-typeahead": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.6.1.tgz", - "integrity": "sha512-ITVnHhj3Jd/QkqQcTqZfRgjfyRhDFM/auzgVo2RKvSwi18YMvh0WvXDJFoFED6c7jd/5jxtu4kSOb9PTu2cPVg==", - "requires": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^26.0.0", - "jest-watcher": "^26.3.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", - "requires": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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" - } - } - } - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "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==" - }, - "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" - } - } - } - }, - "joi": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.0.tgz", - "integrity": "sha512-F4WiW2xaV6wc1jxete70Rw4V/VuMd6IN+a5ilZsxG4uYtUXWu2kq9W5P2dz30e7Gmw8RCbY/u/uk+dMPma9tAg==", - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.0", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - }, - "dependencies": { - "@hapi/hoek": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.1.tgz", - "integrity": "sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw==" - }, - "@hapi/topo": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz", - "integrity": "sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsdom": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", - "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", - "requires": { - "abab": "^2.0.3", - "acorn": "^7.1.1", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.2.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.0", - "domexception": "^2.0.1", - "escodegen": "^1.14.1", - "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", - "nwsapi": "^2.2.0", - "parse5": "5.1.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.8", - "saxes": "^5.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0", - "ws": "^7.2.3", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "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", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "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==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", - "requires": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "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==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "language-subtag-registry": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", - "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==" - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "requires": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "requires": { - "package-json": "^6.3.0" - } - }, - "lazy-val": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", - "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==" - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - }, - "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==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "lodash.mergewith": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", - "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" - }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "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==", - "requires": { - "yallist": "^4.0.0" - } - }, - "lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=" - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "make-event-props": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.2.0.tgz", - "integrity": "sha512-BmWFkm/jZzVH9A0tEBdkjAARUz/eha+5IRyfOndeSMKRadkgR5DawoBHoRwLxkYmjJOI5bHkXKpaZocxj+dKgg==" - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "requires": { - "tmpl": "1.0.x" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "match-sorter": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.0.2.tgz", - "integrity": "sha512-SDRLNlWof9GnAUEyhKP0O5525MMGXUGt+ep4MrrqQ2StAh3zjvICVZseiwg7Zijn3GazpJDiwuRr/mFDHd92NQ==", - "requires": { - "@babel/runtime": "^7.12.5", - "remove-accents": "0.4.2" - } - }, - "matcher": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", - "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", - "optional": true, - "requires": { - "escape-string-regexp": "^4.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "optional": true - } - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "memoize-one": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz", - "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==" - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "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==", - "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" - } - } - } - }, - "merge-class-names": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/merge-class-names/-/merge-class-names-1.4.0.tgz", - "integrity": "sha512-xNdBM7s+6uD+vNZJEymqrFbMBCDGzoA8clZTcj2F1XIy1QQKF+wjFVv7iDZFfdCBnViTdt54A4Ye2lmBsXrBjQ==" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" - }, - "mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "requires": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" - } - }, - "mini-css-extract-plugin": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz", - "integrity": "sha512-n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA==", - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" - }, - "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "optional": true - }, - "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "native-url": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", - "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==", - "requires": { - "querystring": "^0.2.0" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", - "optional": true - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "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" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - } - } - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" - }, - "node-notifier": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", - "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "optional": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==" - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "optional": true, - "requires": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "optional": true - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", - "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, - "object.fromentries": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz", - "integrity": "sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", - "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", - "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - } - } - }, - "optimize-css-assets-webpack-plugin": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", - "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", - "requires": { - "cssnano": "^4.1.10", - "last-call-webpack-plugin": "^3.0.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "requires": { - "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==", - "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" - } - } - } - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - }, - "parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" - }, - "parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "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==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "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==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "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==", - "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==", - "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=" - } - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "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==", - "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==", - "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=" - } - } - }, - "plist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz", - "integrity": "sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==", - "optional": true, - "requires": { - "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7", - "xmldom": "^0.5.0" - }, - "dependencies": { - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "optional": true - } - } - }, - "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "popmotion": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-9.0.2.tgz", - "integrity": "sha512-WfSg8IfoUwYIP9uqeqbgncIsMHLAKWqebT2IP1aGAI6gdSJqTPy/H8NvP4ZyDtDCUCx5Yh3Pth/7iUJjIwR7LA==", - "requires": { - "framesync": "5.0.0", - "hey-listen": "^1.0.8", - "style-value-types": "3.2.0", - "tslib": "^1.10.0" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "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": { - "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-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==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - } - }, - "postcss-browser-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz", - "integrity": "sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig==", - "requires": { - "postcss": "^7" - } - }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "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", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - } - }, - "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", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "requires": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - } - }, - "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", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "requires": { - "postcss": "^7.0.14" - } - }, - "postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "requires": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - } - }, - "postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "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", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "requires": { - "postcss": "^7.0.0" - } - }, - "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", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "requires": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-flexbugs-fixes": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", - "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==", - "requires": { - "postcss": "^7.0.26" - } - }, - "postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "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", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-initial": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", - "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", - "requires": { - "lodash.template": "^4.5.0", - "postcss": "^7.0.2" - } - }, - "postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - } - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "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", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "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", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "requires": { - "postcss": "^7.0.5" - } - }, - "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", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-normalize": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-8.0.1.tgz", - "integrity": "sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ==", - "requires": { - "@csstools/normalize.css": "^10.1.0", - "browserslist": "^4.6.2", - "postcss": "^7.0.17", - "postcss-browser-comments": "^3.0.0", - "sanitize.css": "^10.0.0" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "requires": { - "postcss": "^7.0.0" - } - }, - "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", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "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", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "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", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "requires": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - } - }, - "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", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "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", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-safe-parser": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz", - "integrity": "sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==", - "requires": { - "postcss": "^8.1.0" - }, - "dependencies": { - "postcss": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz", - "integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==", - "requires": { - "colorette": "^1.2.1", - "nanoid": "^3.1.20", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "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==", - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - } - }, - "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==", - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.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==" - }, - "postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "pretty-bytes": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.5.0.tgz", - "integrity": "sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA==" - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "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==", - "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==" - }, - "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==" - } - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "requires": { - "asap": "~2.0.6" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" - }, - "prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "optional": true - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "requires": { - "escape-goat": "^2.0.0" - } - }, - "python-shell": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/python-shell/-/python-shell-3.0.0.tgz", - "integrity": "sha512-vlIkpJBwkhtG8d2rBbPEweg+3UXdkoduRZ0jLbIX3efYutBjTdmdmMrEQCQy9tkabH36yUjOhwTPFkH3BvoYZQ==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "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=" - } - } - }, - "rc-align": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.9.tgz", - "integrity": "sha512-myAM2R4qoB6LqBul0leaqY8gFaiECDJ3MtQDmzDo9xM9NRT/04TvWOYd2YHU9zvGzqk9QXF6S9/MifzSKDZeMw==", - "requires": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "dom-align": "^1.7.0", - "rc-util": "^5.3.0", - "resize-observer-polyfill": "^1.5.1" - } - }, - "rc-motion": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.4.1.tgz", - "integrity": "sha512-TWLvymfMu8SngPx5MDH8dQ0D2RYbluNTfam4hY/dNNx9RQ3WtGuZ/GXHi2ymLMzH+UNd6EEFYkOuR5JTTtm8Xg==", - "requires": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-util": "^5.2.1" - } - }, - "rc-trigger": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.2.0.tgz", - "integrity": "sha512-fpC1ZkM/IgIIDfF6XHx3Hb2zXy9wvdI5eMh+6DdLygk6Z3HGmkri6ZCXg9a0wfF9AFuzlYTeBLS1uRASZRsnMQ==", - "requires": { - "@babel/runtime": "^7.11.2", - "classnames": "^2.2.6", - "rc-align": "^4.0.0", - "rc-motion": "^2.0.0", - "rc-util": "^5.5.0" - } - }, - "rc-util": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.6.2.tgz", - "integrity": "sha512-AKG+5l3EXRnArgf8fm14CClkf20CovgV38juTz/uiQEHLa0nDyoJWw/7BvIIny893Pvwm3TTwokxIs3rsqZ6kw==", - "requires": { - "react-is": "^16.12.0", - "shallowequal": "^1.1.0" - } - }, - "react": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.1.tgz", - "integrity": "sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "react-app-polyfill": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz", - "integrity": "sha512-0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA==", - "requires": { - "core-js": "^3.6.5", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.7", - "whatwg-fetch": "^3.4.1" - } - }, - "react-attr-converter": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/react-attr-converter/-/react-attr-converter-0.3.1.tgz", - "integrity": "sha512-dSxo2Mn6Zx4HajeCeQNLefwEO4kNtV/0E682R1+ZTyFRPqxDa5zYb5qM/ocqw9Bxr/kFQO0IUiqdV7wdHw+Cdg==" - }, - "react-calendar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/react-calendar/-/react-calendar-3.3.1.tgz", - "integrity": "sha512-iDIrhE0ABz3mChAIvA+5d2UtQGEb5oaUpLiEbrRdWHBYb45MhsbO59pG9HIy2uTdHkBF/nvzRV2JBmMfdg/0Qg==", - "requires": { - "@wojtekmaj/date-utils": "^1.0.2", - "get-user-locale": "^1.2.0", - "merge-class-names": "^1.1.1", - "prop-types": "^15.6.0" - } - }, - "react-chartjs-2": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-2.11.1.tgz", - "integrity": "sha512-G7cNq/n2Bkh/v4vcI+GKx7Q1xwZexKYhOSj2HmrFXlvNeaURWXun6KlOUpEQwi1cv9Tgs4H3kGywDWMrX2kxfA==", - "requires": { - "lodash": "^4.17.19", - "prop-types": "^15.7.2" - } - }, - "react-clientside-effect": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.3.tgz", - "integrity": "sha512-96HOmjJjjemxZD4qMdaMWFl3d/3Dqm/MAXnThoP8+jQihevYs8VzooqYWlVEPmkp9tVIa06i67R7FF1qsuzUwQ==", - "requires": { - "@babel/runtime": "^7.0.0" - } - }, - "react-clock": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-clock/-/react-clock-3.0.0.tgz", - "integrity": "sha512-D3K82D3YGcDtzxZCfiACLcDTL8cJXSgpdrzTY9ff3H5vflxlLzTSLF8apZRo6JZzOFrZQvw5mrS7TkQzj9nG0A==", - "requires": { - "@wojtekmaj/date-utils": "^1.0.0", - "merge-class-names": "^1.1.1", - "prop-types": "^15.6.0" - } - }, - "react-date-picker": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/react-date-picker/-/react-date-picker-8.1.1.tgz", - "integrity": "sha512-kFhn+uSJML+EuROvR6qLYU5G3wsxrdB2K1ugh1t6HjJCjphE6ot85jb8THWebqWEcQi07pLseU7ZFpzKDD3A6A==", - "requires": { - "@types/react-calendar": "^3.0.0", - "@wojtekmaj/date-utils": "^1.0.3", - "get-user-locale": "^1.2.0", - "make-event-props": "^1.1.0", - "merge-class-names": "^1.1.1", - "prop-types": "^15.6.0", - "react-calendar": "^3.3.1", - "react-fit": "^1.0.3", - "update-input-width": "^1.1.1" - } - }, - "react-datetime-picker": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/react-datetime-picker/-/react-datetime-picker-3.2.0.tgz", - "integrity": "sha512-zmjm4olduGsgOXStePYAsqFD+Xy4dLMClBl87IVqh6ymFSLuOPgZzjmeLyqLsdb3lnXA8gdtpNXi0LNQkEX3ZQ==", - "requires": { - "@wojtekmaj/date-utils": "^1.0.3", - "get-user-locale": "^1.2.0", - "make-event-props": "^1.1.0", - "merge-class-names": "^1.1.1", - "prop-types": "^15.6.0", - "react-calendar": "^3.3.1", - "react-clock": "^3.0.0", - "react-date-picker": "^8.1.0", - "react-fit": "^1.0.3", - "react-time-picker": "^4.2.0" - } - }, - "react-dev-utils": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.1.tgz", - "integrity": "sha512-rlgpCupaW6qQqvu0hvv2FDv40QG427fjghV56XyPcP5aKtOAPzNAhQ7bHqk1YdS2vpW1W7aSV3JobedxuPlBAA==", - "requires": { - "@babel/code-frame": "7.10.4", - "address": "1.1.2", - "browserslist": "4.14.2", - "chalk": "2.4.2", - "cross-spawn": "7.0.3", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "2.0.0", - "filesize": "6.1.0", - "find-up": "4.1.0", - "fork-ts-checker-webpack-plugin": "4.1.6", - "global-modules": "2.0.0", - "globby": "11.0.1", - "gzip-size": "5.1.1", - "immer": "7.0.9", - "is-root": "2.1.0", - "loader-utils": "2.0.0", - "open": "^7.0.2", - "pkg-up": "3.1.0", - "prompts": "2.4.0", - "react-error-overlay": "^6.0.8", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "strip-ansi": "6.0.0", - "text-table": "0.2.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "browserslist": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", - "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==", - "requires": { - "caniuse-lite": "^1.0.30001125", - "electron-to-chromium": "^1.3.564", - "escalade": "^3.0.2", - "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==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "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==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "react-dom": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.1.tgz", - "integrity": "sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.1" - } - }, - "react-error-overlay": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz", - "integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==" - }, - "react-fast-compare": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", - "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" - }, - "react-fit": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/react-fit/-/react-fit-1.3.1.tgz", - "integrity": "sha512-MmVk/SXyVbxiz9peAeD7fWxFdGLoy/sCxte01M3w74regPIVkLqc2yT0wUAGRd1MNP1fQ40MqYKNBLpbK/aI1w==", - "requires": { - "detect-element-overflow": "^1.2.0", - "prop-types": "^15.6.0" - } - }, - "react-focus-lock": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.4.1.tgz", - "integrity": "sha512-c5ZP56KSpj9EAxzScTqQO7bQQNPltf/W1ZEBDqNDOV1XOIwvAyHX0O7db9ekiAtxyKgnqZjQlLppVg94fUeL9w==", - "requires": { - "@babel/runtime": "^7.0.0", - "focus-lock": "^0.7.0", - "prop-types": "^15.6.2", - "react-clientside-effect": "^1.2.2", - "use-callback-ref": "^1.2.1", - "use-sidecar": "^1.0.1" - } - }, - "react-hook-form": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-6.14.0.tgz", - "integrity": "sha512-yj4aqASmyxFPyDtDLKBae+AazFv5vcC5CEpDlh1+r5k5BTH/J/CTG6q0H5lSinm0B0F6P7oTmXIYB75ZmuQz6g==" - }, - "react-html-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-html-parser/-/react-html-parser-2.0.2.tgz", - "integrity": "sha512-XeerLwCVjTs3njZcgCOeDUqLgNIt/t+6Jgi5/qPsO/krUWl76kWKXMeVs2LhY2gwM6X378DkhLjur0zUQdpz0g==", - "requires": { - "htmlparser2": "^3.9.0" - } - }, - "react-icons": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.1.0.tgz", - "integrity": "sha512-FCXBg1JbbR0vWALXIxmFAfozHdVIJmmwCD81Jk0EKOt7Ax4AdBNcaRkWhR0NaKy9ugJgoY3fFvo0PHpte55pXg==" - }, - "react-input-autosize": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz", - "integrity": "sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==", - "requires": { - "prop-types": "^15.5.8" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-query": { - "version": "3.5.6", - "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.5.6.tgz", - "integrity": "sha512-Fv184wu9FWg35PkgyZmEveveeRr+6+rqefVWf2vI3fhmWywjo2uBUA3GHwKMKCEI7Xb6T+6SyQt23pXhJQle0w==", - "requires": { - "@babel/runtime": "^7.5.5", - "match-sorter": "^6.0.2" - } - }, - "react-query-devtools": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/react-query-devtools/-/react-query-devtools-2.6.3.tgz", - "integrity": "sha512-pSvWq5Q8zgIP7QbF0+4BerCHLaLn5HPzce7sIXYqz4XEizcYJHkJtcrAwn6bUkCu5JmAt1Y7fViQtZwOIG2SYA==", - "requires": { - "match-sorter": "^4.1.0" - }, - "dependencies": { - "match-sorter": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-4.2.1.tgz", - "integrity": "sha512-s+3h9TiZU9U1pWhIERHf8/f4LmBN6IXaRgo2CI17+XGByGS1GvG5VvXK9pcGyCjGe3WM3mSYRC3ipGrd5UEVgw==", - "requires": { - "@babel/runtime": "^7.10.5", - "remove-accents": "0.4.2" - } - } - } - }, - "react-refresh": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", - "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" - }, - "react-remove-scroll": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.4.0.tgz", - "integrity": "sha512-BZIO3GaEs0Or1OhA5C//n1ibUP1HdjJmqUVUsOCMxwoIpaCocbB9TFKwHOkBa/nyYy3slirqXeiPYGwdSDiseA==", - "requires": { - "react-remove-scroll-bar": "^2.1.0", - "react-style-singleton": "^2.1.0", - "tslib": "^1.0.0", - "use-callback-ref": "^1.2.3", - "use-sidecar": "^1.0.1" - } - }, - "react-remove-scroll-bar": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.1.1.tgz", - "integrity": "sha512-IZbfQPSozIr8ylHE9MFcQeb2TTzj4abfE7OBXjmtUeXQ5h6ColGKDNo5h7OmzrJRilAx3YIKBf3jb0yrb31BJQ==", - "requires": { - "react-style-singleton": "^2.1.0", - "tslib": "^1.0.0" - } - }, - "react-render-html": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-render-html/-/react-render-html-0.6.0.tgz", - "integrity": "sha512-F9Xn8Iy2oJvepMdDrN+XUPOwqv3ni856ikuvu/dyJ2guozN01vF0C55Ja+CQfnziQNlLevSVXzuQKYa/mhyjAQ==", - "requires": { - "parse5": "^3.0.2", - "react-attr-converter": "^0.3.1" - }, - "dependencies": { - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", - "requires": { - "@types/node": "*" - } - } - } - }, - "react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", - "requires": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - } - } - } - }, - "react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", - "requires": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "react-scripts": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.1.tgz", - "integrity": "sha512-NnniMSC/wjwhcJAyPJCWtxx6CWONqgvGgV9+QXj1bwoW/JI++YF1eEf3Upf/mQ9KmP57IBdjzWs1XvnPq7qMTQ==", - "requires": { - "@babel/core": "7.12.3", - "@pmmmwh/react-refresh-webpack-plugin": "0.4.2", - "@svgr/webpack": "5.4.0", - "@typescript-eslint/eslint-plugin": "^4.5.0", - "@typescript-eslint/parser": "^4.5.0", - "babel-eslint": "^10.1.0", - "babel-jest": "^26.6.0", - "babel-loader": "8.1.0", - "babel-plugin-named-asset-import": "^0.3.7", - "babel-preset-react-app": "^10.0.0", - "bfj": "^7.0.2", - "camelcase": "^6.1.0", - "case-sensitive-paths-webpack-plugin": "2.3.0", - "css-loader": "4.3.0", - "dotenv": "8.2.0", - "dotenv-expand": "5.1.0", - "eslint": "^7.11.0", - "eslint-config-react-app": "^6.0.0", - "eslint-plugin-flowtype": "^5.2.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jest": "^24.1.0", - "eslint-plugin-jsx-a11y": "^6.3.1", - "eslint-plugin-react": "^7.21.5", - "eslint-plugin-react-hooks": "^4.2.0", - "eslint-plugin-testing-library": "^3.9.2", - "eslint-webpack-plugin": "^2.1.0", - "file-loader": "6.1.1", - "fs-extra": "^9.0.1", - "fsevents": "^2.1.3", - "html-webpack-plugin": "4.5.0", - "identity-obj-proxy": "3.0.0", - "jest": "26.6.0", - "jest-circus": "26.6.0", - "jest-resolve": "26.6.0", - "jest-watch-typeahead": "0.6.1", - "mini-css-extract-plugin": "0.11.3", - "optimize-css-assets-webpack-plugin": "5.0.4", - "pnp-webpack-plugin": "1.6.4", - "postcss-flexbugs-fixes": "4.2.1", - "postcss-loader": "3.0.0", - "postcss-normalize": "8.0.1", - "postcss-preset-env": "6.7.0", - "postcss-safe-parser": "5.0.2", - "prompts": "2.4.0", - "react-app-polyfill": "^2.0.0", - "react-dev-utils": "^11.0.1", - "react-refresh": "^0.8.3", - "resolve": "1.18.1", - "resolve-url-loader": "^3.1.2", - "sass-loader": "8.0.2", - "semver": "7.3.2", - "style-loader": "1.3.0", - "terser-webpack-plugin": "4.2.3", - "ts-pnp": "1.2.0", - "url-loader": "4.1.1", - "webpack": "4.44.2", - "webpack-dev-server": "3.11.0", - "webpack-manifest-plugin": "2.2.0", - "workbox-webpack-plugin": "5.1.4" - } - }, - "react-select": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-3.1.1.tgz", - "integrity": "sha512-HjC6jT2BhUxbIbxMZWqVcDibrEpdUJCfGicN0MMV+BQyKtCaPTgFekKWiOizSCy4jdsLMGjLqcFGJMhVGWB0Dg==", - "requires": { - "@babel/runtime": "^7.4.4", - "@emotion/cache": "^10.0.9", - "@emotion/core": "^10.0.9", - "@emotion/css": "^10.0.9", - "memoize-one": "^5.0.0", - "prop-types": "^15.6.0", - "react-input-autosize": "^2.2.2", - "react-transition-group": "^4.3.0" - }, - "dependencies": { - "@emotion/cache": { - "version": "10.0.29", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", - "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==", - "requires": { - "@emotion/sheet": "0.9.4", - "@emotion/stylis": "0.8.5", - "@emotion/utils": "0.11.3", - "@emotion/weak-memoize": "0.2.5" - } - }, - "@emotion/sheet": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", - "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" - }, - "@emotion/utils": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", - "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" - } - } - }, - "react-spinners": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/react-spinners/-/react-spinners-0.10.4.tgz", - "integrity": "sha512-WRzHTHjx1nvMzsyTXg1J8VVDYadGGeas6pzzxGk0T+dVSZpMIN9NrKV/h76SybdsU8cUp55+u9L1V1C9/oafhw==", - "requires": { - "@emotion/core": "^10.0.35" - } - }, - "react-style-singleton": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.1.1.tgz", - "integrity": "sha512-jNRp07Jza6CBqdRKNgGhT3u9umWvils1xsuMOjZlghBDH2MU0PL2WZor4PGYjXpnRCa9DQSlHMs/xnABWOwYbA==", - "requires": { - "get-nonce": "^1.0.0", - "invariant": "^2.2.4", - "tslib": "^1.0.0" - } - }, - "react-time-picker": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/react-time-picker/-/react-time-picker-4.2.1.tgz", - "integrity": "sha512-T0aEabJ3bz54l8LV3pdpB5lOZuO3pRIbry5STcUV58UndlrWLcHpdpvS1IC8JLNXhbLxzGs1MmpASb5k1ddlsg==", - "requires": { - "@wojtekmaj/date-utils": "^1.0.0", - "get-user-locale": "^1.2.0", - "make-event-props": "^1.1.0", - "merge-class-names": "^1.1.1", - "prop-types": "^15.6.0", - "react-clock": "^3.0.0", - "react-fit": "^1.0.3", - "update-input-width": "^1.1.1" - } - }, - "react-transition-group": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", - "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "reactn": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/reactn/-/reactn-2.2.7.tgz", - "integrity": "sha512-cqnt23kWN/ABqEZhW3OlpqI1DgTaaNDeHpSHtyd81qk0H1jd32zPTzJ69Hpzti2WakwNYveGFPIgI6i7E7nXOA==", - "requires": { - "use-force-update": "^1.0.5" - } - }, - "read-config-file": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.0.0.tgz", - "integrity": "sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA==", - "requires": { - "dotenv": "^8.2.0", - "dotenv-expand": "^5.1.0", - "js-yaml": "^3.13.1", - "json5": "^2.1.2", - "lazy-val": "^1.0.4" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "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=", - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "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=", - "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=", - "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=", - "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==", - "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=", - "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=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - } - } - }, - "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==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "requires": { - "minimatch": "3.0.4" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==" - }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "requires": { - "rc": "^1.2.8" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - }, - "remove-accents": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha1-CkPTqq4egNuRngeuJUsoXZ4ce7U=" - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "renderkid": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", - "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "lodash": "^4.17.20", - "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=" - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.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==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" - }, - "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", - "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "resolve-url-loader": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz", - "integrity": "sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==", - "requires": { - "adjust-sourcemap-loader": "3.0.0", - "camelcase": "5.3.1", - "compose-function": "3.0.3", - "convert-source-map": "1.7.0", - "es6-iterator": "2.0.3", - "loader-utils": "1.2.3", - "postcss": "7.0.21", - "rework": "1.0.1", - "rework-visit": "1.0.0", - "source-map": "0.6.1" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "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" - } - } - } - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "requires": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - }, - "dependencies": { - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" - } - } - }, - "rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "roarr": { - "version": "2.15.4", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", - "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", - "optional": true, - "requires": { - "boolean": "^3.0.1", - "detect-node": "^2.0.4", - "globalthis": "^1.0.1", - "json-stringify-safe": "^5.0.1", - "semver-compare": "^1.0.0", - "sprintf-js": "^1.1.2" - }, - "dependencies": { - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "optional": true - } - } - }, - "rollup": { - "version": "1.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", - "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", - "requires": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" - } - }, - "rollup-plugin-babel": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", - "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "rollup-pluginutils": "^2.8.1" - } - }, - "rollup-plugin-terser": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", - "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", - "requires": { - "@babel/code-frame": "^7.5.5", - "jest-worker": "^24.9.0", - "rollup-pluginutils": "^2.8.2", - "serialize-javascript": "^4.0.0", - "terser": "^4.6.2" - }, - "dependencies": { - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "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" - } - } - } - }, - "rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "requires": { - "estree-walker": "^0.6.1" - }, - "dependencies": { - "estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" - } - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" - }, - "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==" - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "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" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "sanitize.css": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-10.0.0.tgz", - "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==" - }, - "sass-loader": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", - "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", - "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.2.3", - "neo-async": "^2.6.1", - "schema-utils": "^2.6.1", - "semver": "^6.3.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.1.tgz", - "integrity": "sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - }, - "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "optional": true - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serialize-error": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", - "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", - "optional": true, - "requires": { - "type-fest": "^0.13.1" - }, - "dependencies": { - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "optional": true - } - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "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==", - "requires": { - "kind-of": "^6.0.2" - } - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "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=" - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "optional": true - }, - "side-channel": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", - "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", - "requires": { - "es-abstract": "^1.18.0-next.0", - "object-inspect": "^1.8.0" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - } - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "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==", - "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==" - } - } - }, - "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "optional": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "socket.io-client": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.2.tgz", - "integrity": "sha512-fXhF8plHrd7U14A7K0JPOmZzpmGkLpIS6623DzrBZqYzI/yvlP4fA3LnxwthEVgiHmn2uJ4KjdnQD8A03PuBWQ==", - "requires": { - "@types/component-emitter": "^1.2.10", - "backo2": "~1.0.2", - "component-emitter": "~1.3.0", - "debug": "~4.3.1", - "engine.io-client": "~4.1.0", - "parseuri": "0.0.6", - "socket.io-parser": "~4.0.4" - } - }, - "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "requires": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - } - }, - "sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.4.0", - "websocket-driver": "0.6.5" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "requires": { - "websocket-driver": ">=0.5.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=" - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==" - }, - "stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==" - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "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==", - "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" - } - } - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "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" - } - } - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string-length": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", - "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string.prototype.matchall": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz", - "integrity": "sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "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==", - "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==" - } - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - } - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, - "strip-comments": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", - "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", - "requires": { - "babel-extract-comments": "^1.0.0", - "babel-plugin-transform-object-rest-spread": "^6.26.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "requires": { - "min-indent": "^1.0.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==" - }, - "style-loader": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", - "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.7.0" - } - }, - "style-value-types": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-3.2.0.tgz", - "integrity": "sha512-ih0mGsrYYmVvdDi++/66O6BaQPRPRMQHoZevNNdMMcPlP/cH28Rnfsqf1UEba/Bwfuw9T8BmIMwbGdzsPwQKrQ==", - "requires": { - "hey-listen": "^1.0.8", - "tslib": "^1.10.0" - } - }, - "styled-system": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/styled-system/-/styled-system-5.1.5.tgz", - "integrity": "sha512-7VoD0o2R3RKzOzPK0jYrVnS8iJdfkKsQJNiLRDjikOpQVqQHns/DXWaPZOH4tIKkhAT7I6wIsy9FWTWh2X3q+A==", - "requires": { - "@styled-system/background": "^5.1.2", - "@styled-system/border": "^5.1.5", - "@styled-system/color": "^5.1.2", - "@styled-system/core": "^5.1.2", - "@styled-system/flexbox": "^5.1.2", - "@styled-system/grid": "^5.1.2", - "@styled-system/layout": "^5.1.2", - "@styled-system/position": "^5.1.2", - "@styled-system/shadow": "^5.1.2", - "@styled-system/space": "^5.1.2", - "@styled-system/typography": "^5.1.2", - "@styled-system/variant": "^5.1.5", - "object-assign": "^4.1.1" - } - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "stylis": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.6.tgz", - "integrity": "sha512-1igcUEmYFBEO14uQHAJhCUelTR5jPztfdVKrYxRnDa5D5Dn3w0NxXupJNPr/VV/yRfZYEAco8sTIRZzH3sRYKg==" - }, - "sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "requires": { - "debug": "^4.1.0" - } - }, - "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" - } - }, - "supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", - "requires": { - "has-flag": "^4.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==" - }, - "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" - } - } - } - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "table": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.4.tgz", - "integrity": "sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw==", - "requires": { - "ajv": "^6.12.4", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - }, - "tar": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", - "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" - }, - "temp-file": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.7.tgz", - "integrity": "sha512-9tBJKt7GZAQt/Rg0QzVWA8Am8c1EFl+CAv04/aBVqlx5oyfQ508sFIABshQ0xbZu6mBrFLWIUXO/bbLYghW70g==", - "requires": { - "async-exit-hook": "^2.0.1", - "fs-extra": "^8.1.0" - }, - "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==", - "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=", - "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==" - } - } - }, - "tempy": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", - "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", - "requires": { - "temp-dir": "^1.0.0", - "type-fest": "^0.3.1", - "unique-string": "^1.0.0" - }, - "dependencies": { - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", - "requires": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.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==", - "requires": { - "find-up": "^4.0.0" - } - }, - "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==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "terser": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", - "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "textextensions": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-5.12.0.tgz", - "integrity": "sha512-IYogUDaP65IXboCiPPC0jTLLBzYlhhw2Y4b0a2trPgbHNGGGEfuHE6tds+yDcCf4mpNDaGISFzwSSezcXt+d6w==" - }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.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==", - "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" - } - } - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "tiny-invariant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", - "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toggle-selection": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", - "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", - "requires": { - "punycode": "^2.1.1" - } - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" - }, - "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "requires": { - "tslib": "^1.8.1" - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "optional": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "requires": { - "crypto-random-string": "^1.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "update-input-width": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/update-input-width/-/update-input-width-1.2.1.tgz", - "integrity": "sha512-zygDshqDb2C2/kgfoD423n5htv/3OBF7aTaz2u2zZy998EJki8njOHOeZjKEd8XSYeDziIX1JXfMsKaIRJeJ/Q==" - }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "requires": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "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==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - } - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "use-callback-ref": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.2.4.tgz", - "integrity": "sha512-rXpsyvOnqdScyied4Uglsp14qzag1JIemLeTWGKbwpotWht57hbP78aNT+Q4wdFKQfQibbUX4fb6Qb4y11aVOQ==" - }, - "use-force-update": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/use-force-update/-/use-force-update-1.0.7.tgz", - "integrity": "sha512-k5dppYhO+I5X/cd7ildbrzeMZJkWwdAh5adaIk0qKN2euh7J0h2GBGBcB4QZ385eyHHnp7LIygvebdRx3XKdwA==" - }, - "use-sidecar": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.0.3.tgz", - "integrity": "sha512-ygJwGUBeQfWgDls7uTrlEDzJUUR67L8Rm14v/KfFtYCdHhtjHZx1Krb3DIQl3/Q5dJGfXLEQ02RY8BdNBv87SQ==", - "requires": { - "detect-node-es": "^1.0.0", - "tslib": "^1.9.3" - } - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=" - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true - }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" - }, - "v8-to-istanbul": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", - "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "version-compare": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/version-compare/-/version-compare-1.1.0.tgz", - "integrity": "sha512-zVKtPOJTC9x23lzS4+4D7J+drq80BXVYAmObnr5zqxxFVH7OffJ1lJlAS7LYsQNV56jx/wtbw0UV7XHLrvd6kQ==" - }, - "version-range": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/version-range/-/version-range-1.1.0.tgz", - "integrity": "sha512-R1Ggfg2EXamrnrV3TkZ6yBNgITDbclB3viwSjbZ3+eK0VVNK4ajkYJTnDz5N0bIMYDtK9MUBvXJUnKO5RWWJ6w==", - "requires": { - "version-compare": "^1.0.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "wait-on": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.3.0.tgz", - "integrity": "sha512-DwrHrnTK+/0QFaB9a8Ol5Lna3k7WvUR4jzSKmz0YaPBpuN2sACyiPVKVfj6ejnjcajAcvn3wlbTyMIn9AZouOg==", - "requires": { - "axios": "^0.21.1", - "joi": "^17.3.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^6.6.3" - }, - "dependencies": { - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - } - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "requires": { - "makeerror": "1.0.x" - } - }, - "warning": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true, - "requires": { - "bindings": "^1.5.0", - "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=", - "optional": 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=", - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "optional": 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=", - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "optional": 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" - } - }, - "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==", - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "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==", - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-vitals": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-0.2.4.tgz", - "integrity": "sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==" - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "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==" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "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==", - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "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" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.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==" - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==" - } - } - }, - "webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "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=" - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "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==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true, - "requires": { - "bindings": "^1.5.0", - "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=", - "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=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "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=" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "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==", - "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=" - }, - "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" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "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==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "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==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "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" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "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", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "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==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "requires": { - "async-limiter": "~1.0.0" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "webpack-manifest-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz", - "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==", - "requires": { - "fs-extra": "^7.0.0", - "lodash": ">=3.5 <5", - "object.entries": "^1.1.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "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=", - "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==" - } - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", - "requires": { - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-fetch": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz", - "integrity": "sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==" - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "whatwg-url": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", - "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^2.0.2", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "workbox-background-sync": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz", - "integrity": "sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-broadcast-update": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz", - "integrity": "sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-build": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-5.1.4.tgz", - "integrity": "sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow==", - "requires": { - "@babel/core": "^7.8.4", - "@babel/preset-env": "^7.8.4", - "@babel/runtime": "^7.8.4", - "@hapi/joi": "^15.1.0", - "@rollup/plugin-node-resolve": "^7.1.1", - "@rollup/plugin-replace": "^2.3.1", - "@surma/rollup-plugin-off-main-thread": "^1.1.1", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^8.1.0", - "glob": "^7.1.6", - "lodash.template": "^4.5.0", - "pretty-bytes": "^5.3.0", - "rollup": "^1.31.1", - "rollup-plugin-babel": "^4.3.3", - "rollup-plugin-terser": "^5.3.1", - "source-map": "^0.7.3", - "source-map-url": "^0.4.0", - "stringify-object": "^3.3.0", - "strip-comments": "^1.0.2", - "tempy": "^0.3.0", - "upath": "^1.2.0", - "workbox-background-sync": "^5.1.4", - "workbox-broadcast-update": "^5.1.4", - "workbox-cacheable-response": "^5.1.4", - "workbox-core": "^5.1.4", - "workbox-expiration": "^5.1.4", - "workbox-google-analytics": "^5.1.4", - "workbox-navigation-preload": "^5.1.4", - "workbox-precaching": "^5.1.4", - "workbox-range-requests": "^5.1.4", - "workbox-routing": "^5.1.4", - "workbox-strategies": "^5.1.4", - "workbox-streams": "^5.1.4", - "workbox-sw": "^5.1.4", - "workbox-window": "^5.1.4" - }, - "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==", - "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=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "workbox-cacheable-response": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz", - "integrity": "sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-core": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz", - "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==" - }, - "workbox-expiration": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-5.1.4.tgz", - "integrity": "sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-google-analytics": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz", - "integrity": "sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA==", - "requires": { - "workbox-background-sync": "^5.1.4", - "workbox-core": "^5.1.4", - "workbox-routing": "^5.1.4", - "workbox-strategies": "^5.1.4" - } - }, - "workbox-navigation-preload": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz", - "integrity": "sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-precaching": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-5.1.4.tgz", - "integrity": "sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-range-requests": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz", - "integrity": "sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-routing": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-5.1.4.tgz", - "integrity": "sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-strategies": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-5.1.4.tgz", - "integrity": "sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA==", - "requires": { - "workbox-core": "^5.1.4", - "workbox-routing": "^5.1.4" - } - }, - "workbox-streams": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-5.1.4.tgz", - "integrity": "sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw==", - "requires": { - "workbox-core": "^5.1.4", - "workbox-routing": "^5.1.4" - } - }, - "workbox-sw": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-5.1.4.tgz", - "integrity": "sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA==" - }, - "workbox-webpack-plugin": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.4.tgz", - "integrity": "sha512-PZafF4HpugZndqISi3rZ4ZK4A4DxO8rAqt2FwRptgsDx7NF8TVKP86/huHquUsRjMGQllsNdn4FNl8CD/UvKmQ==", - "requires": { - "@babel/runtime": "^7.5.5", - "fast-json-stable-stringify": "^2.0.0", - "source-map-url": "^0.4.0", - "upath": "^1.1.2", - "webpack-sources": "^1.3.0", - "workbox-build": "^5.1.4" - } - }, - "workbox-window": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-5.1.4.tgz", - "integrity": "sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "requires": { - "errno": "~0.1.7" - } - }, - "worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "requires": { - "microevent.ts": "~0.1.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "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==", - "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==" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", - "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==" - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "xmlbuilder": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", - "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", - "optional": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "xmldom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", - "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", - "optional": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "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==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - } - } - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - } - } -} diff --git a/doga-frontend/package.json b/doga-frontend/package.json deleted file mode 100644 index 4a48f37..0000000 --- a/doga-frontend/package.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "name": "doga-frontend", - "version": "0.1.0", - "private": true, - "dependencies": { - "@chakra-ui/react": "^1.1.0", - "@ckeditor/ckeditor5-build-classic": "^27.1.0", - "@ckeditor/ckeditor5-react": "^3.0.2", - "@emotion/react": "^11.1.4", - "@emotion/styled": "^11.0.0", - "@testing-library/jest-dom": "^5.11.6", - "@testing-library/react": "^11.2.2", - "@testing-library/user-event": "^12.6.0", - "axios": "^0.21.1", - "chart.js": "^2.9.4", - "concurrently": "^6.0.1", - "electron": "^12.0.2", - "electron-builder": "^22.10.5", - "electron-is-dev": "^2.0.0", - "framer-motion": "^3.1.1", - "python-shell": "^3.0.0", - "rc-trigger": "^5.2.0", - "react": "^17.0.1", - "react-chartjs-2": "^2.11.1", - "react-datetime-picker": "^3.2.0", - "react-dom": "^17.0.1", - "react-hook-form": "^6.14.0", - "react-html-parser": "^2.0.2", - "react-icons": "^4.1.0", - "react-query": "^3.5.6", - "react-query-devtools": "^2.6.3", - "react-render-html": "^0.6.0", - "react-router-dom": "^5.2.0", - "react-scripts": "4.0.1", - "react-select": "^3.1.1", - "react-spinners": "^0.10.4", - "reactn": "^2.2.7", - "socket.io-client": "^3.1.2", - "styled-system": "^5.1.5", - "wait-on": "^5.3.0", - "web-vitals": "^0.2.4" - }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject", - "electron-dev": "concurrently \"BROWSER=none npm start\" \"wait-on http://localhost:3000 && electron .\"" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "main": "public/electron.js" -} diff --git a/doga-frontend/public/doga.jpg b/doga-frontend/public/doga.jpg deleted file mode 100644 index b32245d3ada5dd671fb92244549bddf952dbd399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105470 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 QmJ=gg6R(b``Op0S0ilQ42><{9 diff --git a/doga-frontend/public/doga_apps.png b/doga-frontend/public/doga_apps.png deleted file mode 100644 index 78e437294d064610c266f3185f2c5fb35d7a8174..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36585 zcmdS>2{_d2`v;D9PN%dSoDxn6mC6=Q$tde-kxCLmjHS|WVurFam{XEUC~MY9Le|m9 z*v*l$FWHU3*vB?@GZYO|F z?bx(w6X&Ii=XEx1`e|mGzXN z%vG@apZG1{PsC2}MlTRPwNENKmBXr|1Wv{XTtvjud$p>O;N`5@%D-! zi=X#ji-|g!(bS3Ro*5(P}2W`b>$k)~oPvwesCO zCxqO)pPHAkW`lnegZ~l8KISGrKe^Za7pZcA%sUm86I@F-banfVZTiAu&G${FN9PN> z&WAs)!|qTy$)2t{WBEg{lyPahTx8u6cZt^^F()TIz4pwe1H0XsG=^(#oL4~oxywiO z4VY$8KOlC7IrW#nH&x!@6%etLU)qs#(-SctEUfW z<+R1D^3@+U?HcL}P~}$9an`I+w(Eaq4P=m(Mo+%$?i)xq$&dbV)1k&Rk;JXSsRpTS z-FyDTd;6Z6Ckq#=SH^ViT$(f5^yJ1){sJENf|%3G;)%d3jX%XGGam*7A5rUrUe+Hd zr4^TrPW1`h+wnW;quN+|mg4-y({FA+)7|uEKr3)ZVeua}3F83sDmp)IQZe0J$>;v| zr+@Oqy%Nbc&*_{Lr zW?3cQHNtCTO?7o}8h%T#lo%ZR0I^dHevMGsQeAxodM7w7JUkq)M*xB&tSu}OkifqG zvvm-me?pH|8;w0b{DXQx#9(eswGq)}Ue#-A0W%UJ^%{AGBmtMzB~e^7UW@wu@Hg&%TumLz6L2B=Xj|iDP3h(q3t-8DrI-X0Q~o?L~>QfdISvagUd%X zOe;lrTTP@u#3_lB1*aMew6DVhnVM{s86F-y*bdsUe|<-R(@W_)F;&8}9ezT5Tk8C& zX}?)J>zwtM%ng*x)lo9Ov>F_E)Y$gv$=ENiriak($Qu@mieH(#_l-Hid(m=d%CnZT zvYP|mqJatnd4NEmo= z2G_^}1HVQppK+^of*1wK2vh)&Dcl~eGOqJAr-YV#$>K~&$m>L7(Gq?+mgAThF71gulR3>05ouo5Od(GR@b%s-xvbmrOFnbx2qaj z*O=(Vf2pyrfv~RBuhr=vHTK`}0o9h61OGu|V99q%)q1h|WP{rO3nEhguX00~?7%lu z-|2uXW*Qb8H8R5U56`=-aYX~)`HNp~yhCl*{aW*9-&qj07#bBUXGz~_Hr{Clhcla^ zhCCmRg(}pqIHdU1^tWH5$JBjuBj5RnK6BTer*E(3uBMRtF5glJJxc4xEBlP}U6d|k z56CuBRzlC0NWU}u_k3a5%C`{k9DJxmP%3GE+Js4K;>kI-=@q-2^~jpb!NnE?;X zBw{A`cdsSCrEke^1?sHfpw$Rp$3g354ge7VK30<0O1WIk6>H@=>_MroJJFzq9x?nf)_S0iFM!K!k#TcK))^DuWVb9d8k)qEK}69fMhzz7igCc5@tqiFJ5WY8!n9XZP% zDRT^tvonK_kNWT6l<{ARK31`ufWa<2-ER1`_}i~V?gXvvK1;SzJ^yT+kJ{(VK6dIx z7!kDwBMSR@`g_jB9v`S@%(rD!&pQ7DA~}LRK=F_?5*GFf;g7jE68sfMaj(@=nT4ND zGv14NKK!{w%JI$jI0f3kT=orfJKnPO?)Ml46r=wF0YDD%zefPUX`&bFNDwD)k*kp` z0oQu5%GtNp13wo;FF>;*Xe4to!@f=;ky^DJOZq?n=M90WidGu6CQvg}K(ri0_+t1!cp( zSyfP_&Ia>q zLj#0|c)woFsL7j}nj0f!?MDODPQu7?B?Y58`yDv(1Y!A=W%?n3SA+v@!opQMwGKO0 zIdZ4^Y=am}4T0PJlfHHB z{}zU9tnnMFA%sXbRMqd{3#;c86&s%|-*H%s+%0cc*Fmey4sw2*s*#JYVpU9F4tA4OrUfpBjhL2)tzBH6m6Owo%5T?pR%`<)=b@SX-HJyR z9`${Bd3hfnzAx75_;A;Udh#1?L8(W$F;cr*3v6higRD<-De@euQ!#e~T(55ahKrnD zfmeYF0b;mr(0Y~aM4y>FB-FfSe!;#lGp?<~?&(`WaC)N;R}yRus?vtrViN2)FVPb)#W;;*Q&F7)6}#6i6jiAW}oL3-OSOP@G|T|U~cb0dNxO`n;xmM#}) zOttOeS?Vr`sz4Z0P6CyQmv@T?nhJHKd}$Zvtdh2^Rf;`4QoOGCj#xY zf?EiELKY#N?0XZ%~g#ufOd@=ZYTKj|6zZ%F|n=8 zDAqcb4G9VA75;ToCE$#Rj0&EckK$+0m|Y?@N(!!2xB=%#y%b>kngwoXu{^Vs~U zk**dwxvU@??D*<*Dtir)vb#Xg`Zvfkruv$fnVeq>$9mg}Nz=G|)p73WkcY3Ts_n~F z$hv<67?1zVBfVsT!5lbgYx76%yDyWy7b)cpjYo1RvlFta#}B4NY1&hp$gih3l~XlW}ss27+vc?G*s5-c?n37x5z>nFb?#d`_^NCI*l0hxRjZ@ zKEeZ|{}pD|Q82KgTqMvJex*B8J_C*eQb-%8U1@>l6^eAQKwUD_@TW0If=W!0DQfV!*x- z)pbs_Ui_1N|0YfHu61cvAlK-29iX*_ja2GL|A~s*!|SWOtjPyyWkMsOCIldq)#e*O zH=q^Z$ZImL>g}7~KpRWIH);*iN}fJ<8bEx& zd~Y|J2k39bE&fIoaJtqG{wr%hF1~T!ze(c<;Yrd;6s(@Etm^)6Hm%kFC){tO0&%NH z*r>ICVh$kTir22m2zdt38#K^@Ob9mCCs}RO+JEQNYi{trvv%8HzRY9k+g$*3 z{JYE~J0C`TxjPh`Is_pTs39Y8wj4QwyqD6Eg^5J zR5vb=K&u?8U`VHx72araWCE$Mv;6 zbdtBCD;=kjIS*WZLYbaHg7FmQk|rg@;HVkeF}s_ZZ2WCTS4k*wYV=!X-Pa4V*g{j= z&3N|K8aM7)RkOLH@!LT&9@T1sF~RA>Xs%3Zma<9n`VSIK06juY`(u;k0O{Ka)u>}aqkYQBt1{!NU`P7$gd}idW0UbV=H}|Sqp4T*dYEH(AC#$4pU&+phU2t zW7ZoMqn0~8SfoS`JmFTWX=hE%I(-<~PyTI|B_I=#lD`nNPKUthROL5pU|OHMTt#3_ zbeM*_&2SEP{q${O8iJC<(-R&Tn1nPOG(?ZL2Iq}O2+4Q7Xc^|iJhFz4(pO9avu|CB zvo5osxni+nQn%Nio3oKPna3To3y*&XBtuJS9Zrj14q8H>Z%)kKLY~q#@r*sX|1JVO zHo?QwMG2eE5-hJA; zC1g^CO!w!(JKli!Z3pUl{#R<63|Ro`S?~jgl3|Y@zUI`|zn9u$)}gGuvZ{23dXUn@ zu9OTsl!>&>DZ?$}yh-F~yxq_ISx z92nIuT`H1Q+kW%h3`UWO^Xim8;xPL}Bo?qxO0vm|HTz_N%1BASLVtZ1C}V+1AhSiS zy*MkF!yRnf436;~%L|FRE32D@+gNedhr>`A0v>1a5F5`sg?%n?ZjWw#AD>IXGA4eC zbTxaI*Io>v`abjQj#pj5ge!UPEn6QI$s3c8bGpyznJ8ID0H0AI3+6fgG4%0?RK+s= zBSyB(T=uM-TD%;j}h=Bj1wv%v*I_k?}77JlcU5AglKpoNhq7>;VWh5@| z&@d%v{ItLaO_DHGem_A-K;Zw9K6F z7W8<_f6Ld!g|W%*lD#u~54Gg`qM>s}vd+f>0F4xR66>a;*-GPmuQeY9=_&Is5OF z6H4D=C@jy~{7`B>8@{sXh=E#B9$8Jmj>%K^;e@qUrz-Lacs0bpfxh}`Wqn-i-Jr8! zX)O<{xuu!r4-0e4)u8E6-=GYMFL5AS#o9|*v1c5{R?q>-XFPUA(5Dd*ixVA%c+R@Sj=d}uEt_pB-1+NWdzJxME4SsUK;tncf?2JIf zT%S633VS>UDuJapN&YqBimVng>Q$Cywk@klrb9(a+41IR6|86Qfsg`t8HGeo&;}7G zwfdx}2cr>lx)1$?_b&FJ%Pv6S@-%umqQt(e%hip9zjud5YLg!6HnESi4Q{nEEPfwl;R%~2fgqfv9`{j)c$fy+mXSSyc?)Gj6Pw}2 zUVP#3W6#yyQy0g{U)p-4k{WL<_}Fc=K^l^_qGyY*q0(mJfCetixFz&A0bf$CB3SAW z`8*}2LsWQ4kPD|$xLYtb_o^BkE_UH^y(HkqgyO*(&S({y-%1tALf@P3r-MXsNuCa< znqo|30wSSV&QU?deG#yv0TZJL#<{Dbm9Vx3`9eV`q~q*^o|WqRP<;=|BBF?HaD3g+h(N~m5m4vC=kc8Vz z?KPe2B3AY*Tsmv*`{5Kd1tv~@86R8cg!Y20d!a%C{}{s<`ADy8e|*H4Qn&?5y~8nb zkX6PE=}zzF)QnEf`xZP;ZXsUHIL%obP?Db9w-ijc0U zYzH-P@XU(a$3&CQq5|W*y_~5CqS3x50T1)PxD-9jHQhqNlz zlG*#)*eHhB{s34wOM}wM`XtNVr+j)L!BlfWfRNqMMDa=h>Co>uWt`hj+B%Z2rf%^! z8FOoR2r7dk@$uE`XdWnm5;_AF5dA+F(TdP9rt>4oH3AIxjK0X5dLdZ0b?w70<&Z?`v)vm6HzUQ``+o@HsP6%MJZbZH7*MJ%gRtAv@WdzKPlK+jsL z26za<`C|t7n$;5oXS)I*e)SXo5h4Lg$GuCGn8jm3_^unXGD|oTI9;#}JBn#~iu^ zY)?Xzk7Dk=ds#AJ$QmaM!e}JajePXI(sz#yMq8yY3(w2q-rZ$0(`+cCok!|6uaLS0 zhk1Xj#~N<7z|d{Q?$dlQuND><>e{r(>AV;{^l zx}N2wauOKcVal4IxRHO=XMcX-tLmvnQcKVBQQ)=@d&JrznAQc!~0*1MWayEc>pwqVwf_G~!+g^e+ z!tQ*xi=nUQ*)<4uR)(vnX1S|5AZV>Jg@f8FhDvT7^vOQW5ifPDd{L|eq4?(TY=uwP zD`;O!aLr(@pUCH(bhpmNtT{0;E*Y7~O)QCf3t8b($mrP~o7x{d%*3k~Pj#@Ric2}U zmlreDwS%QTd61kgRd~$B5A@WwKlaF;^7^Bq9m}^QdgOTH>f6d@9((u69Udzt5$k-n z&~ymJj@JqTVfWhbkOIj!qi<_Y%q2)KC3T7b-3O26<4Wk^m1|a_(yH&^8npD-mQ`8>Bz0 z#z%XQJB5T-a^J#0*q63vPJY#0otAqzyBceOforP)J`vRge7lj39=#*&j?&|>K$UoQ zWQa6G&}Z=oE&u$o%(#_!$;yi5NF+GlqL0vj@9C~16Omqp%+Rkdt0*mh=BjJIDQwG5 zwpn;qUeO+;LGgHf8_%H*sXNFtn(~7yDQ@(`n=yZJ@=dIJf6pGo&i8OaNmasldy(pH zP%v<#gbNp2SOxd)f9~EDvv0*K+l%7O+wtmQ;%Z*RKT7yh#S}Vcg_Ug154D;pVS(6u zRZhRVsp$<+cLin@JJ~X)9n>*QY-3eu;mjBF!u)=>J1bdgI8pd)c8K#8l9N{S_29zn zG*i??mQ2mExa>G*w8FqHUcieU;ZpR8(1N0acA%niwCZQ2Uc?y9V-t^dFqczy!h^CD zv2I05_BlRkkVGj~R%f|8ct_sVag0ZtNI%7_g1IL3M&T-V1bpZgl{OsvO4GSRMX~`; zUeVE(orW7^sKmumkIeC7f)uIKV+KYmU(ap<9E9Y!dJ5%uYU3fbo^{47C58ni&^}$2>0_yc21h-@oX+m!TFXx32+0O zfGq2xU+cF-WoQv-DTcYpFH=oa`tEBvuCQU+!or;u(GYoq1UH#9?BF*Dq|L4LA-l54 z-aOdSTnAcxnco+jhSVEC{-l45EX0ct7@Lv8nvIMe#!U4}ngrsNnxW1dLC)c6j!nu| zKi?7~PJSNPVGEz+0q8$8>c({dq9WOWd`n~=Nx)GCQeFRwZ)hs2tt+|is>v_em}7``ZG4AWqDaIE)-{+IGSg!RMG zj##0hej#}!hsoDe{a~r{TBN}{e*Sr>$_#E>A|+=uvNFKQrjvgO)0)2cMI;*dmL9=x zzK`+c(aW@X!utgdGR($@cR%O2aRk#Oll3ZFz4dOzrFd}V%X_Xah*~|X`R6slFUkn! zr>HIUZ~}iihIm5D(J6_S*B|Xt+E`ZypY7+7=~N!52Zu}KegxV<@|7J`L`zA9?M>xZ zR+FFIOzR#0#8}Z>~%~2qrFY}79PwR z26Z{pexxZWL{k0^;`tv_lHB{QvAXb%;Iv3#B812uPh^gJD9ulxruZGv-7Hbh`5x+w zDS<%mZ*bPq#85O?ayp21BrT|N|O9=W5F6)>PG+7eY_6}=26sF)9nY5YK zKh?v$Jz4dQzy}T$A=Lx&R73HwHd%W!#&t_-y2j;NrldS)pyd_Q zUr4#7ToPxN9S;vH7%W0E(icJmvgN1o;JBm^HLKi(x2PoKdM+M!7|kFI7lKgdlCg=b zyChw+d@yI`MS*bSwAYNRvqRnySvlA9uD2ZXJ^WJCg|;;}yZ)(0I(sLKwnPmpy+K+` zAvkqmThdJnhw&Oy{c%sB~AFKVeKU}qnN#tc3a$|WFdbgGv}7r*PLiD1!k|Bn1MvB+h;fl?D<)k=u^sN+t;?!=z}xE2hLVdBVk*^P%Ifg zPs`U4Hc8p7Y+-uSQ(m=1g?{FEZB8roa2&KR-7KJxF9?#=sAN21`eG(advUIn5;-r2 z<=Q_VYlw4adj!Z2AS|z7k_~0@F>L3qN?_YdSf%M3H*U)SWOEvHa0`dL4doaVw7oN;b!F0KPN@r&&rvLJt<^m-%;Z*B3>RphoEkPne6U+S*56k)q1 z3IF!GZs~FMSoebzh2N}4iC3pHzTi~Rfxv+tg`luq@yElnFw1)6lR&9kQ5`vHx$Kj2 z1J+yy!JYLTVV&=n`x2HOs?K*e4i-(nXn5N71<18aJ>U_z)n-1%c?JF@n>yA~aMrYx zzNng6!=}Aq4|o5NBG8pun5Q+-1`_4i@EnEbSH#Zq*GQ#Z4CZNPp3<60q@{rT$$X?b zMS+HwfvcpF5cwWtbxjGfNq!`=GX6+q3ozH9cVY?LZNR&^;%U6=UbxZHj$AJohjY;o zf1JerrMo&GySr62uO7QQfc-hU2WC6@TMF{QMF}z~plE-|imj?t1Wt=GTdIo2{$e3& zJPfgZ$ONR~CsE-n^S&B;9`@oidSS2Pp~Kc* zegeA`+}mbS@mmfhASv^8i@!?4fu z0l1IIn@+Ad(+sdQ<~_I zE+(neHKt{86~idNYmP3=W7t0PP)^zPDyw)re7}NggDyC)LXhhbaM*16D;csgrE6@e z7JR=>AJ^qT!aNxn87U3OCmQ06wLL9SC>p}db+m;$NC5#`MtBJuXSuc_%wY34X#p6C z+YGg%mg31wWa>TwZ|OUpr*ieElvPrUZ@WwWHM@A@8+wHBav zDaKeq7mEC)$%>+N{tNidB1bd3hMQV0p$(_eBz%_N5|6`@%Uu5@sfF9^<`*bv@J+l6 zrmngJ{z9G8kxV?eUXup$e7&lvN_#M_2e?@u0ojThf7LJw^bF<^0H;UHWp0gcPDBD@ zKgI>Q(?+le`21eW~uE;=OJkbb?CDC!D%ty{c8wL{}M+%}U(Ken*ea zHkg}`ZxUz%Isp^LIkST7bC+>qXxl{i34mxNWRmaJI)5^88I-&zC{^1P)-;SG-gz1P z0v^Ex{SvAqCW=s{d6@(Sw+=lAY3*^T6!NvpV$om0e79tB7g^5WK>)mo`Xv?g}Z8kQGKSKu_78c zXGZuOJH?C=7QxcpI_q(IUL2g=9~I?PWL~Hi%8;1OB-{dnM$!r+Id~6rMS_bM88I=R z0&Xu=!a%zgO}y9SEm^ai-Y6ArSv1{Pbd(j$@-Rit?<>b(V&})X)ihdQ?&3+hiAr72 z1v$a%gb)E0UmtvD20duDs6?qBz(6t}+L(Bbn?jk2Z^cnNx@}AX)eZJE!v@L{8J_eG zc{97)6}e`jrzHqhxnd1R@t7#B zD2BS#s4+h_eS)BF(6UuPQOTh{L(~|0zq85-3^Y!OlQl|=w=`RP2!S?+$V#`pK3%* zATLi9Vjwc9VYKP^UBRvh@3KH1-w~p{R^@z^CpAW;QyAq^5`Q!RM5R#t%7~ydTgVRb zf4UUeW!{3oNjA=7n8&Z%;(j7;r-aRb=^DtUAcn3|1QHgi}7Av2O z)J2nvxZtF5&Pvz~w}^>lb4apGB(=t`ts!MJ!W~{Ba3qC|*I3SYjaC%pEB(C%hNQv* z@*t7WA*g}JS|X`P;*Lg1+muCoEK<}T+oN3v^;M=MPX_9|rKwG6=wtcII*A^8yQx7|9?u`TmYmTi3kUBWFy71A~b=gWQAL4Gl3TEG3 zUd|+EpiAZwi{V5oF*2ho?XqU=)Q1(KNl4<-p&crU*3&2!I0(e2PzLID`h z6nf@QbZeh%4ybd#YFGSaiBikd0`NnNrt~IjIVvl^;N4L>&#F;<*KVk+lo%77uS5tw z!20b^(7M=_<-sQ5qo=yk5=U6u2P+KCOK73 zM4TY-Vh*?;kT=);i4`i^$p^+@ZBUp#PD6%CllHqJn2z&ByXup9F<~?sj}ZN@6$`xv zW*79J3}s=k)VdA+Egtwlw%rPGw^Ip1i~3Z%;GFBZ-` zVuuPx46^AfCjnyQOv?Pnk9c@UpF69i?@yt_3m#Jf^)w^UZl?tJY zdu6_Pd5!iKL~u}&hh)!KeXyWmi2hS}d&&)x7wjjtZC!d}1XCg2Rdx0cR^7-8kEw7U zNLz%oDyQ01gWBb1pLXdH6tg`9L-8id#kmM(X|G(2L(MU+Ffa-kPBh(K3A@)CtR9RC z4n@sPff3-4GP*R0R?Lt)l8(9R}*4`}9pcTE71H;El91yi|orgk)oQLEu$eTt^ zqbPV8yGo}TrlK>FvkGUqJi=Wk1vI|(x=X2C=6nZ0Y7YbUsr&CAZH~J}x?oO9HxlYJ zWVVKR?8})dkT=BHFyu#hr%xoi!DbR2#ysb1XP{swCm`|%mx;t{y4M0<&Xf_X4QTCo zuC_P8P74Ud1-iO&XM|yg&1fk1L+<@EX2z+=xOC*`$XRF2C*F8LQ};aJqxO_Lh54Gc zwb;d$w@3B%ASO`b7+W=M8kog!ElA1CXH!>HMXQ9x+tX`N>>2Mk0+Myet_WtQHxP5L zVES>EFxG%jr#$mm9WLujmUEvyeXpAXA>fF}w}&I|pq6)>P(8)aY)NEk?3bUTa*Z*q zGCh|_;GjDz&XZ^^akjZx=mAv2U=rliYHg|>B~%luUe15XlsFg%hW!LBk~GFyqqRv% zE8BuE8`DFd?1?Kb^Pl|?TM5gnbgC_RuS+O)bBK1jN>XX>S6Ds{E&?8=Mp|G#Cq>y- z`C2JVGV*Wvso#Vw?pH}~*~N%9@PMrS33WIa^#v=?>apA3fXkF#fala#K|V`_#Gox8 z%_iTQUmQM<5Ku!fM`ezOWEDTlWH{y>iR;m9$u2Y3T>hxtDKtd3zdA!i>S@+@D+@B2 zg_vh+8?n$aMZYb#fNGcGxU}%kG^eq5+{F601aY#M z1o?=sc^cAdZg{FSZ20Qvf=gr3y`~n>!-Jxf)orb>wSaWyz zvYRsLt<3&rR~I*2B7D-d9L(^aKB7$Q)I#ro5*7IklHwURt%Jppdl30|`z$ALZCzkY zf6Tsn8?Xepx{A6UOiQO7f0e~K+B%vfi(obl5bs@Y|M=uQO?Fc{sb}aepbYRAkXME7|#w56jrC zW^a&YF7%ofCD;*BMB0sAA;QsI!YT^*3d*M35O4#~E}mWxi1%y8E4!TpFvg1O*! zph%_?2JGCtTnt7o;Iuemt{1UI-RPH+Tb*OWLXRL@wS=H9_0aq!GT@qkq{=UX$mCG9xY=%9<1zKYRO{yorg(#A6$fVK z*ox-gAVsyJn&(9~bBz84`Xq!Iq<1-F*E~tB3f49`&Br=(S-ZFmONf51L1_I0?MKS|tl9jT#%Bien5zkqceW2ag zwPK}(3RRXZTxt*~CPCjdIH@ujpUA1~I(|7el59kVv3J(|0zV$QP%eL5n*U|s?-!2-QJuT&>rB00 z6v$Rrn;(^(8BDKlG%sq8DEl}QunjBwPSxA+cIc}ksM_5K$!2`b<<|R;)qX1S-Ohr! z1lZaZ_EN)3Mf2IiKg=Dyz_KX4RbOn@yfi<)9e0WUJerH1!oQzOm#_&zrr@O{hWcpN z4qDIH+m0q9B`afgB%S_M>vz}YftbhH>JNVq+G9mskkzQ(oq4#Oszn;nCZ!v`Vg9^x zDrs*4NA`Q;cP<(PAAy-RvKZ@9Rn=Uen|#I`25~Fm7oG-*c6?3Fr=H&sJFgLzCCH}I z&pTZE?}TudHb2#qgnvd8yzXC^^&8D93`XhnTKH$4cCY{7t~@^F@sN_P2h7?u)D?jdNO^%h6yQT zwix(zKdQ?X_iYi8jsuUg5Wkd>_A5Z@LTHelWdL-!OZ%y7zUjW_#wX>t^rCE)hHro&gwFS$#U^17%ycj=7pB+Iu2=TBn(wa(3Nny>3J0~m1QLunpUdi zGhT@F-X)y*st?H(9e%{(DLx+gS)V{5RwaIZ^6t~2&8mwzmexzR{QTT8p|k-CrUlI- zg6XOAP~Op;@AIM)rZ_s_c3*@N?6-dxWcw6PQjDVRyT!RsJ6z~!22w*q=x!cTm~KiC zkl){XD)OAA#Z$vKNOAc45Zbat{pVLWxYLt~b2VLh7jw%COk_QYyk8W0xTR_mljfxF zXVfh}uB_GaoIR|5Y?RM2oyGS@0IfBgA zlfmns7HYb84g4CO;4}rqXz!jR{T+ORdc*y6Rgz)$quK&f7qd)mxKV>TX-7#JddEh) z0B|U?%lx@FM}eJV2d+4BK!QIU2e+aA&dd7Le%t?-hGf-XpBZs;5lZ==&TiKUVYT+( zHWJ_oX$p`(odwQ1qf+g9sHRm!#a|~#3DG(EcJ)5P$4^X6P;Z|r@>x)|cT~EA?AP@B zf&^~&DR`d+iSVJkujG6lcG}_e=!C0@2siH_<4SJ%Qpb#8|S zmbd%W*S5P!>Pp!?L;Q=Ck!iGV*EQ8ipB+<43pgZhIqzQ6r%gTV_8ZdINAEwPnp^GP z&)f9QOmR{C<#da_zwgSHxk$#CQi=^HA8!{i!cgCI@q8o#u5&$3N&dz>H>V2H)2TD~ z;&PSIz+}WMx7^vxeCKygu$|Fkr?URtT2g_na(k5D`urtKx{@gF>x zSh&29rDgD4dQ`ujZ{%z?()$+bxX->=(kl>d;&SisC~Mu0-4~V&yfaQkX-O@9-cdB?**-#c@810E`^GE2X@wXa->3M(-ph86>KD5XQ=)#FlBl6B zz^R1ShPbMhTC44A>br(uj>N|pbAL>1Z$MW5Zu4XRfZK2@^8=eUwjb4!G;_SuD)v!Y zjb)M}8LsW8X1^wf<`a_!;(_a3ZTfw!_BuUOi7sjVQWS}kGb*Uy*h_r;1xSGBZ;^9J z$SRwmnyXfUB|`knU{6fG&&)7I>*UPOGw6gx@6^<4%N-Qneh+n=^Q@HA{(UQX;w)$@ z-X~HtZ@e;yPb#=R5!D|VkSWVcJxn!~;{P!cQ2zr4QpN4doXJR;x5G78B^2gUyzf3I zs%xvNrjEM2oq1@FCnsOv&3~K3j5WURU&ej<EwJ8tTSXfIJ5 z1ATXl--n&ppp<;`Och$0$Q`LaL|=^x(o0_^vzMH=r;sai3JsTDFpx>RBK)8Ns#79PeoJyA zq}UNUktsQw)7s^Ku)}wDyl;9`skbaZOEcI`=|yInP%`y@P4YRl!Zrbi&m#Q1znfI> zOn_`Pe*3Cbm+R2e>8Lxg=^TMA!BTP`fotA5j7U*ONCpj4(t$dB!!PCd%oi7oo8h-e*ZI#Kx+^kZX~p7rG7>Wm$QIr8VO=|7uX?m5jl+b{y83=aWy2+g)yS z>zGFWH_}c$OEnRvByZf0?-gjZ&N3rJ*IgQC@Vo~402VwXA`VxUAalqq=9S>H4H38a zWP&YK$4NpX28q4dIc*bsMP1dW4lCqb+J{h-idfY$Q-U0fO5EBND(_izKO)Q|HVB_4 zhK>kw)o}R{B;rbqQ8BpHBMWm-*%Pj}BhZ;Q%$#q4va2b&RWZfh!(5}WqEd}-kZl|< z(6*>@5;nc3sLQ%RwV~W-;18R@p%tB&R?&NN5BYrZ4u?he9e8F{3^8B1d=`KKhoP8NkH>%!U)b{Z(4A!3?TuEOb?iXBvK=!14 z0^MGU?@j8+lnCU}=d(AT(fbgSA=$qqaR zK!qJR8TncO${*{qk3vyHk5pxOkShz=Jv^2;#i10f%gKtmZRm9O9a*=)`cq^ zk!_>0fqYUZ?SaXn;N6}da95r$A&>FDyT|jI@RUc1ElE~Mw>#$kpaNuV$+Tk@pC5nF zNCk0x&jCs>s5*oqYWgxKA-=bius2>UFK1b+>{2~YeK2-jZ}e=92342Pv@P?~v6nA{ z)4GCb<0v=EUBK)k*O_}N&CIaRKgl~E!}GsC_)KTya{pe zb!i<3U%QTIHe1^tE{-A2A)ZniIt{luJy4&X@hM?~; ziAj4Iv*8Kt)TI;X(U68Jqg(wZ1FMFOse;Y@k+3yI$JHDz*u_#mZDWdg?Y=J=^XS!v zr1cINWT0`d`QuW|c7(OfZb8AOKGRdx>;-lu?A`k?fwqY7^UDQ)KCyf?!E-4TReHqV zA1YzAT;$H_ajV4^e278;(23aM!ub8G`nljL&jy7Eh0r46cPGg?C-!|DJKb(GG`#by zhp^Kzyy^Hu#fn?lY3nFjw#Er-@2NV&uXJOPG}O71F~OArCQdZlG34M!3Pt(er*JPP((?yN%%Wpp<&Rru0h+dssTzH&ji!}&u zpuBVnj9W=tXfbkm#;4+($3fHP>05H09pHqIvf4!t+~elYP!Ni^jp;lA8T6J13Bn(s ztfM@eKW@&;HAy2<{n#O>C#hs#QFvsXzUPC;#^XsAX}{G*_pWMPsM6_v1HJg-e#H$9c?d!O<0w!$~g0v zj%X2K&`pG3tgZHUR8bv|{3e}nf7K(o5&5=t3&lef{sQD3BC3h_y5#-+8b?(5DhYM+ zFZk=2XGuCD5Ej3nLs--ySchFoCfz<;WcaFdd*jf!`UaI6 z|Epg~O17VHmF*8+o z;v6j{}(At~&MdRk*ov5^V_c3|Ve5sFDA|lT_7v%>;HoiAQ zDAuzBewCiM5y28tYp6B4WnB2Neg)unhM+D^8cP|MB=yN=e-x7_z*R9f@pe?zC5`pi zVs+NN2>2)c&h}8a!z90K-@RKW1d%Py3)|9r%|GyL#wb2GJs;_PDRmkLg09q?pizXJ zNw-@yf-@rDrC2{L`sa?RK~OtFp2@!we6IZhO?7j2^cWp9uMFLH3*_Vzf%xV)d}rjL z8kZS{n2xld8N+x0dy0(GV?7POf02rFa8zo0FXmO4au}QSQ7pIg8~?PfPU;6&zuU1A zA@?K0Otejn5=)qyLOO@su1?nk`fSj?Is!fW=N)EEu?4M8t9j9fNnBjOv@T1)gC_lP z+h@=g$o{k?d-SN@;}=;U-yNd@C-rthAoxP}7<|aimgPMpL$01ZA>}jR*UJGx`<$8z z3AU_ER!bX5|M>;B?s4xP|1De8y}eAJfPN_A>d!1!|EZ`~zl29O>i~PpKfUgG26-{x zZ(xZX8fWl|P28$O$YPuZxh~e^xb`!YAGR*oo_YdqWEB3({m``dg>F-oWNJn#u*;I8 zX3}Vu!c+LcfL(@YKl!2L-V{Y1B z^4Z4c!JV|KX#T*Q?74ns{ZgK4SCLMaA@iB=V#WJc{>`LJ^p-D zKZVIYEF8a{U_o8(ICj^-I6rOR(17Nj)tYbE`8cg5%*4=Emb35yV)7M;@h2yZ4zTMuuzhu{!FV&Xw(Uuvf4+1qxj#4k~nC z-U!G`cyrdwCTWDQ8MU+#@$J4LaO|bpUDR5O4_R5qHExTMl@;qo2*{8=x1Qyca73;_ z6*{+Z>~+_D1{Dz>bK}*5_k35}y1<~KaL6@qpVkVSi4F^kU-z@*@KIDvXofzMI^fDC@c|Z61&xn+zCTmkCHK&%e z+C&cP8LNsgX;ZfK2agx6f*Zmh4DT^xv?#?dFkRAq`)b)V{x{8`oCj&Y6&TCxZ4w~( z4%+155Epmjqh}q*@Q(Csg7QiMz_W^djKx<6xmb|mRn#7mD5Deg1+V&tW$%O-{K?uC<|UwR0K9r0|;{}hkB z`xXADAq@^+Ql)-eHe1f^Ud>1XMxZr@;HS6K!r~P^!YP>;;`ofDjA^xgmvDI(?66Gs ztE5H?()i^|JeDM^2h|7ZkQ?IBr^O zT)g6+*x6*;DWR@$HtjK)U zDqb-Sd#Eb~!=wrWpH3YWh0I2yQ2IL(vx~`Np5YaP_&Z=P>q|FTESwL;HKf)Lp>DKM z&OWv~ui5yME7&)y?NNcSWlvmtJrAzQGhrhe?mx0lv@mQ&f{&c%4~**8S64fl%IVQD z|A_#tfyxbrd4{Ag+sCa0p}0AAy6yTq7&q9Z*5)X_lEwAeQ>Imu zyK1-3EaR{52RsA$v6TL*A}v3Hwhp9nXGWG3&GVkYN#oL(I_iH1%09y>*E1EW=k6JH zy6?Qg>o)@Ovy94HK1FqZDYIV;#D`YdZro?PF{xNfXsoo=Ua=Bhx-4+FHtStbJjCu@ zFNERCqI$QHK)#IY#6o8*H!lfDx@Y|iou0O;`eA|*UExl80A{;Utq&jE{Z_@J^Q(?_!`UT8 zs|;-1*7c|Q1Rl#_iEUUxkDsTNMn+ZSH>2LaS1l=BVQ zNTp&vyem1%<41)g%bc!}svDFB1!wQ?VLGJwrY(q{@~d7v>7Tu@8@7Z92$WBN*dvuK zJ~`&CNl!oGh*jt`eXfL^uoX$tbep@-n{0#1GBuqMwB13Qz2T3IxySaI6B}jNt&VE& zaL#pTo4REki_BB{tW2ETb&o^3{`$nG$0qHhtt-*n`FU~DR1ip;wT-ycYg@~h+t8qB zgj`%xNGH~B_rOnO3B?S@qI@!h!Jg0a>p2oA5`Lq!?LYm`!JB^*bxbj0y?;5wOChw`|!fb_pEPDOm zGc9fF;$d3i!2J5g1S-Lh$g%Y6GxGz2M*um*6cvY*2rES)o6y8{%OHlNbo}dsXk^U` zBSufX>*0WfR0#vGQ{0!&{P=mYzrUYrtirI&BI|_FQ$+v}gMiT)e3>BWsle7i1zD}_ z3v1Ru0k-Uhb&a%F=|8mqi%W5Nz=*yM>{NWK6rcE2mr>XJyNwhhg!WZshWH3e@cQ`u6Fk)wi4>ZyleYc(aAm~T#Cn6Jq`i;s`kIVr$T?!Rhiu*- z$o9p)D!+keF^G@zu(Y@`Hw&2sfx(FV4v?iNEE=iP1fZLR4;EJ6l2{UM2c-blgl~OJ}3!p*!8CAB8wblyP;OI-M7ak)NI&P8Rm=7!-87D$tfHtNeym zc)%1*6lzx<36w3_tLma>=*vwmEwh*2i;3<l>M%58 zjnz_Q29_F=Wn2MdJk$qoXn}veS8O|Asx#m)y<4IX#4I2B^@633jU^51^O+^a#1e;I ztT2fVrsmx?Bn4Bel%}h|h}WT1pX+>heut3;tu25i?n!aUCskN49q`M~dJIw&yZvAx zyetX~{gbNWf~a)EEu+b>>gQPP@$i~^lkxGOhTc!N&ThAziHF*0rBXcbs#EX2#4R$O zkzR6fu%1fn3uGmtbjwa=XK3CJQu7WdIr*5HPjDuhQy>pvGnQ5nftM7X`~bAuj7vKO z*hftLXteg^QjNilshKObWhAc`-b{zFSP(vx>dron%|SO~^5Q&i&( zjn`vlCe*AG2o5q5jF6k$tHoB9CN?G2rP1IUuT&2C^C@(q(!i-)Bup`MTAm5Bx4gWu zJVJ%m=HtShw_fcmj1a(uI@pZrUsC-nme}d$HJpTh+s; z$m%jIFGiEIr)|J53VA1#-+O=3>GgtRUgRzXR+oR`eqz0emBWpun`d@I{SSO^jt|_9 zE23i=<^uz*`uBQzg79|V(q!wOVsA*&m)B{c4AQ}lDs!raBhIG1le5CGRlg=&*(TaK z0%Jdt0oRI+GkR1@EPw|V!bW!s7_|1<@v-X?nhm&;J%!I_dLM_C#I2SwznP>tCCf26 z(}8QKo$Rg`jzStmAz&4MVno}w6lSNVMdn{xutT~RV?G-1M?E186qHcHs7J!v{65BQ zf4u7LyDR#Zom$-Iw#wi)N=jv5{G*V;n2fKV-ud8R9#!<4wE=oErE86GK6I0A124<; zM-TR-MG3Rif~+D9UJc?p=g~|wE%#euRH$D0%FD{8*C6h|@)%&aA@2Ii5dprrQUU_@ z17NcreL?>QZANd+)6{7CN_v*;@+{&=?oj=(Pnnl@3pHe#OyWgr(}7gj@`&&KTA~n3 z{?=wiSRBJHa@i_~8&EP4skd7esGPB zVo0ND_dxS&GX4TMmk!@*qROXPzVJFSZu%KO-4I&pRP}XJ!gqo2Y5&SJl~>KZ zi5q0pq3Dj)mO4@97`0?yv{Qf3;k#^csbQ$#1_Z7I_HQoJ5$m&Yo}GQ}UsS~all1zG zyg17#%t%A`x+15bU~B5!;?}*KU7bM~SSle#ONMNmb%M zSap!$BMiuR7a8<$-qJvIXK$@c(b`;LSFZDUknHuu&m`7o)`FBNLeL8FXJ*z$ixos> z!Jiq#{hCtu+>vW8`>Bl?tGVpvJpv&>7>WatT|GAws5VK|QX>=xISsUmb&2xWT&spL z)hlp;#wIHxWrsZO-GowM2t-UuZY`)alR2m1?sIC6CaOi45$&V%{8R9_DduE9Vd8aePeq%Ioiz5I<`xG8H0$EP$U za8E{gjsD7QX!e4B@{Io(9p0!E8U8x&td6#8`hygpz`*CJ@yiP(M#+v1w3S9KAw^n& zDfaj9xohLr_)<~3{tUXsE?%P==b4A{y$aW5CWkB43&Q$8KeT?mW--|!=`4;hxx*O23#|_n?%{&!w910zbDjJT3ifWSo%hEB z=e4@kAsfZOqQLm`cviBMqa2s2POT;v`{(sQh_B5Z;WfdyIW4gCE5i3qZOf%U#%j2~ z1MaNzqvL*YT`6=a43Uqqm4hqf8h8j5!K!xIla1ec!oP1(r~5VldW&p~-;24`5o2i( zAtq+Muf?mVNH6Nv8k(F1*W$vhO&ZKez9zJrpSL-*Pdqh6bcy2E!;4%?Mg~1SDLqD6 zz9alV0KDZj`NBb7t+8DCQ`B56aF-NR}h%hzH`C3R#9Vds))j&0zJkM^S zFc9QPPC@x~e-Cd07UC29rY3%Bwhk(eI>#CBJu+iE+V2OoMLzz8NRQp5&ak(SG3#}bp#47dL`{0h>d%<*8@eVe(5*CjUF4-S_O zlvpM&V-&r`T2ide*DYyR_G^;mZ4Eb2{tEef-h;J1svua+_;sqUlB|*}tY>5-`DylG zyphw?+tPY@V2C>%unKDWj;&2Df~l@$Y|=pd+iy6Dt+b>F&mBV)s4D?|zf~)(4EtqX z*4FHoWmG-*v+>Fq7`2LrM%M1wtQpl*(Ft>FhhHwHk?v)=F-2O1aF95p72#Z9Y+w{@ z2tH}>543&mn^o|`+64g|mCfi3CrDulNoFgM3tX0eKB#zc`Zn}rshHfAt(BdP!jvxm z-WK16TPxdw3M0FgUopg$waC}!1v3^wuaKBB#F1Q;0{c0dRdDDQq+dtH*`u9%3K%>O-fgErKRu?_GOnq@OklN}FvpNBdBPh2Wdd zJb0j>MafCSRz{hhiH*l}Er3t&czQ!q&8m0{91a+Aeayb9Z8n`T0yEZYO=!jWBos{_ z5Ul~bzM~~jn>iX8Mw7w=-^{(?a*+!OU`@gahRW`Tbq!zLVcd;9DPKu*DxfIZ=+Ff+ zu2Swoi#C;^FofXK9!NC8uU*9qpAT~WsE`AZWQd9nkS^t_vY@$IBb$+PR-_`n2JID4 zt{sI?v$16xtM;tQD)c`HDm24qO9k-b1W^(aay9ukzzEke)~1yr#kU3m#z&+`?H<0| zxW5X}UtrAJU%FPDN=B@Nen77OdcSRKLa=GB6aTxY`7aw_AlS#nSxo_Xb*f_0!|E7XrRqQ2($Aei$>;cI}q^ znj_|7Z9Ax8+BP0}sYehvM_vF(_>^JfHWDB=HH@~NWMn1zNvI7b@nn~ zv180=`XQ%@uW$VhEIDthrp{|BI0iniyA<1$?DT6{Tg$urO{C{*iHXUXqH}*zD8wND z!oLE}W9(uEfS7e7BNj(Ktz!Fp>hkhd!FOYwhp)(NI`4s9Re|_@AK+v7p>1NFR$Woh z)$sG@J$jVaX!6<;mq;2Ci6@hIGH*rRmOjZc@MXkA_%uZXFOKL&Dm>}+6vf7GSs8)QwyzZ~QW=arp`w9XN1^Y=p7Kv|BlvOBhRCA5TF3M;y8;d(tob~fl zOG~Dq6fKjA!*wDJh!jww&4ok*DE_J`issp0)2|hiTY@dlxO`T^w)|PP;grCxRGd?I zZA@-IEts0*nhJdMtrhNlgu=aqfTee%$v_t?4=ykU}GCvH5D1S^P22x2N2YG7uXE1qW$d*L@0%m&7 zOBO+2p=;G)c?wv4sx!>B0>)Rdn&&$qYpCfN`sSu~Hpy43k^9@;)s5hLUF@kp{=R`B z&e|FJxzu@RcDLDK*kQZr2?E6P6J;~zvyk1E3tkO&u4Evzm`*} z5_}0|w=(Kyq9&0I;_wik?Wh!c8WJbI@U}G{^L>gBHdwU3-wbh>E4=?xz-IgyreB!9 zq-GJ}H(VT8CnWYB4~mBc-{q(iauxlQz=i`BdG3#t4?epunS`nJjfm(Eeyi~z#Yktk zRr`=6H@C6dR zYkk^6{II~2=LuP^GY>|i{VRu~=(vTvBLoguvzZl*+ zAP0@nqUk3%BHJ`YgJ4R9CYfZY`|J&G&z3W|a!}95?3}8JmM2eBfP7s2o2}qWm(}R?<5lJjP?;dAzsIui*m&kirYBW22wzRuMf?}^yxmR`^)v>*TY;4`8H|_0w7pW7qW(#VCHimG`P7iXn z?~p?Lt7N2&SN{C+*G(t;vHsZ^dc+tCa?fXHPF>rDw*REpa5V*D$#qA;?3tt>SfZ*M#BCQMI{^l-YeDp0+`K=CZapz-1>hbPhQS~Ac@ zdy7YuesdZq`b@`*Ckmp=NQI>a8?!YCR}pQ#7)btfEJYM@-xi@Y{0mxUd26hCf3XcP zkD6IZ$r(b7y42gfdQ+glYOfM6GpgSBI$r(b@c_2H0~VyfyQH61c-E1?-MZ~`xLMTJ z36SBvd`X8!rOGO_dMZ9~J?=hM5gjQ>Dta_Ba>6QxyzAcF>#?_h{0ia*Z_U)WOglP^ zLqe1yBi$t>C?nz}%cFi?KP1kn$~wDkUWm7b4BumBdG~9zv{g}v*422I2eT>(ccDfG z+2v7pLEj&`V`4ioS#paOyH0$@Yb?3BHi39UWtTK_i_K2FO;FAC4zGRkbdDxNmYUjC zNN4iQl!gYyC!R7ptuwoeZEGPk@Es?dtd-|36qjF8;VZ_b)F- z2g~?ud+d{=%Lgks2HaImK16X90unN(<^S3xCg1%wuurI%xH3)Z74b0uS&IWp zY^7Az!qgw?p4edb+!N@22jBf02eXMj+Am{JQnoQ@G5cWw_$ElX{gq*zC}ml?nik3? z(RwxGOH546@Nk-^b8Hy1t$c`$oANepyq9yol#=2~d;&C)rQubQt4fDiK+-FesOP33 zX-)R3loA#vGTFuRr1`bafPVKELbF~byc#S{!hlC?LB+6Jh(q32M zQ&<)V*noYJP%+e0yHA{KO76kZC-~)8MhkB|z@}NIK-!9hr31%Mbwp7S*$fQz!PNFlE})Rpn;;Mb}iQ{J3(03EbM;6sMMl^_rm}nJq?J%WD_g zzvx5h?5B*xIgINb;%Rd#q*zxpP;N0HRMWoUjLpnO5p(3p8K`y|ts z$cN@aOnH|n8aIfDy{PCiEJRl>sCORh zs)Rw}#XOHcIK#N@aO-3y_jF2Fh^k^RkC4#W9WnkrO$P`6`brT>>RGxQj~M>+V%YY& za^Bp-JAY*>a^Clu_UOR)4gZ~=A1s*-SNl-8%&)q@D)8 zgtO<_Zi~CC(po$&YfS{xLf>O>DcLTAFC$#sKgn*k0(e%03WU-BQ)oNA)%!{~#} z8`vR!F@6#&tEnZdT=ICgID&%62MOMqS+T9yr4)lw>bYUZ?^okQ%xsP-#9 zB2H78oDy$xZa;&j|GPG#&0O})g*=KXm%ot)cVX1` zS%!xna`pMWbG0oiCV*SuAm2yVByH&9hQb8l+1S0^(tODA`yI@bp5!GjIlRWmH@o=ZuSs zGug_!{poI0pkKd782mX6_9mmk%pt<$< zwHZ!p``LjW!h6>y^23|_A#MM}SJ%M{|6B8QYb%-h$hOPhRQO|#OlBGuz$wQZOgF7%n2faQQecy4nAn&P z$p_~}gWVn}Sj&A#xmFk=ws+QF#`I!xB;0OBThBB0KR9QI@jQZ}-oIA?j|&YsCGPyS zKT@@o|K#}fB+s1nur`jtR^JU?xtt@1o zbA)W-$pry}DCbK;paGDndoKenJ<>(3&lW7L$JrhvPTjny35(@#D=-L$_h z1Sb~#eSUO#?*J5^XXifuPpjIRR?y1RQ;u8apk9VkqDkUc<9x{%y*!q4=l&zZRSwr= zU%{Z7$OS4rs?8(F{0(Y{ef!U*e}45F|4-hPmERp!CVR6^jnuyS(a6WoYdm1q>-KJ- zKrisOOcLjQTrPy+fy=j0d$t4c$9{tF>)UuOC=;%z7(Q|Oh>)Mm&Yd%E(nf`z-v_PE zB}cMMvJE*96BPkWM{S;>luuA3F^lvlK7%o{i6Yqxp8o>T5!UCGj)Y;0YNO&$VirV^(L)ANM};Li%Ir5?j>+Fm@Cx>z##`6De97Z=se z*25iNRj@tj=QrGbUs1U5WDrAsLHB#&2y15XUeLnsI|~+%6=bl_-e~oD<)^+FP&yLY z@X*s+YVp$V84x2dc00ESnO`mSAvS$SqV2%s7`m~=q-bm#8u&`xmSzzI3F3$CsboSr~A zE#*;;_#|DZl#`2phl{@o4D6vk`db^+WSnES;EyPh_T5Q4Wvt&S(FWKU7R{cI*Om>q zh0$hAktsAf)*&V6;dYf9Fz>~F#JO7jX^FNqN9VwUxk)8ko4a}_N=gDdM7Q8*YETSK zPSbI{hwhW-n?rQ)c)YKF(uFh`83;**?~$Lo+`H($?4bI4$_aoqh%xwz`(wFc>*XIqpptVY(Hsm3^zpugC!v}V z?bel?UYQaSDWFPt4^%rv1fvkZKfIlpp06AUzAO=lZPRT%hBhECH&>qq zwhMA}>dNv;A@_KcA|0XX^^)LiKu|`50^_Vzfe8&7@r3Dm+<@T9nJkcRf~dDo)PSeF$tO8-%A)!E^O~@$8K* znxr1m&9214^3-waMYdyE5>89Em`A}eXuA+Q4L|Y+hAUQI;T;EVbA((zKIz=tT)n+x zT(5rp%Q4yxLj<#4uoKf77LOhZv+Sw#9Z#=m&dsBsIB%=)=)tqc`iA8n>aT+NeTaW{ zM}php9a}!WdreXz?khH*;fv?l=3%FZOA=_s-)%ma$@jYGqCmMqvy=$PP&qqO8KE|_ zIyYp_0GIFL58p5_KIqJgQ&?E-4LEA0TC+qLte7?2*%Z$vRU;P2}n0 zrVK4GkRVM|C<-PXuwOgrY1NA0wYYH3p}061>6~@VQs4yts=hfUu$g6VzcM72U$A>h z;E93U@b5SBN;h$kgK8XumXW!(h& z{SdH>)KvBrS+~&f2tFyNup}A(ee`%^7Rnx1XEQwmT=v%H&U3UWY`@rNm#$dZOi22C z^o;$m>s=jSC9CSOFTFY2eJykGxn&!_p$065APQ%N4C!zFG%j+S#kGPBSu(52$shJmeXPE z5SR#X0f0K6-&vDA39362#BSbU5-_Tc(Cz1L%?{VjQZqD%9XAQGvFTC9(laQT2%Tqn z5^av>xZY%}2nhLPXQv;DNprCC8lARqXbz`6NLqALYFTi=w4TUcCt zb6zmq4SQA1#SRXCjy&$#+H?Dy^&hp@CbjFJCMK;ln z3usYs4t`c1UBzZENHUbNs65 zjDT^i#Xn7R@-%sD3-VRjMh7TgX=--O53m4z5Erj3^r2{^2uAx4vY5TyTuc14mair9 z&f~BmFT#|ubbJ8tvliqL%aS+T!X#?NVj5n3u~v$f2zBSZykbwt;YqZxjABoF3$j1*U; zS7}#1LQRdX>oi%9&_pR2Bnr!T70! z6lL&%W>RZdhJuuBdb)-0&d+b?^T$luoK{NF!};vLY!k2Yv+Qe`O1hpB@ck{524ZM! za*38*CPSXx>G9URtG|dZI z&{r%@WrPogm7n251Xk|}X)2!evxJal2@v?>y*d5OI2}o~yJ5m?YY!3^Qc}i~L7i89 z%_Bd3+Xf*)fI)uWv5L5FW5afCcf}ApQXFws)Nb89CUZQcQ{2(U-5 zZ{P3;CaT3IN!tc}&&mM)S7Exf-Ir@8{R>r9UnGd(?QCq8_c%pGMbAKfV0bi|RYODL zOJSJgw6ugnCDw8bVY!P3_VdODyyj!t8`?#nDc*-9+1dyxY?fKd%4X*4S4aqR6x8kq zR6>BV_7^bte&M-?de6{&Z{#aM_fEnzM(ixB_s&Lhf*8iQ#;Y;+SR+5RvL;!W;gO9} z`3oc1;+4@F0f9Q_wdb$9D{*CbU?aSp2&$&=vD$;VAHo1pu+G}t+|1WMf{B6;TQT{; zPGFpwNie;pCW#WTANYLt{i{9K?b?k+CF>v^AVQ}H7I}xdaHDlt0@Lg;+gJA(3UYag z&Bx9E_TuJQ3BG0<4OIIVB=UVAu&#%mW9|?Rx94L9eA0%&x)pH@(8-4@I<1T>%Mfnc zKtZQhaw;7h^yiMf4qsbDG!{z=M#2Nfm+5ca6Qc(j8t4xSUvZzgsMEm5M!~U-e}KM$ zcKaj-))Vh;i3g$JZ_bJ2fk^-J-w))0E}=v8bH7PKs%dHpD*@*i4End74|y9nxzO-f z;od|j5vAyBE*@T9qSRm_9wHP7VsB?IvuuLXv&{O?9l+=2eQ@-`->Fi5yejMf^t9`i zqIZ2vuYpm)vXMr|+q){DCS^Ycc_)$Oq*0v@CJn6q0bY#RVD;~nREjpWn<4(HH;cJ- zM1yY^4xQRRKpGazY~a8Z-v^Wjl6lG!jMsA;B&V-hM<+m=ga8JIy~F?;*am8=UegM9 z)#`tH{?F~ECM}I%+{MNYYC?!!KIj@S_2l))woFyMzcR{MMS6;=$>)^-w*guv_W}F1 zmZc?K-sYH3xHbIQnx%FCYx|9XlA~i>MO=dUM1TEgL1AG~GoUk|-5p*KHU=@{^UOB4 z-j^rINC&}wKX|mYGVnT3HTv;zvPxC^AHN~W27atja`=uBYO)pUzq1jP0aj#({TMVi zXZZOEda;%Pl~K%cjPC0%8y0d88_21$8%2kF_g)=_G2*ecy!ZVgz1PJuuwXOy z1OovEb-!QzYVD;Cs-ePkb&tv9!eKpr6}-!T{a8xwZ;8SOukGiT-f;)1XEW1(UIc}` zd%K~uV8Jv~G*Y(3_>TaN4p%sj^|wG1^_b};wQfZgzWWW9teIJFJ5xw=OsR0D0H}Pm zm8KPCWRw>!q*A9P;3h PzzTAzkG?!KdHKHpE$HEc diff --git a/doga-frontend/public/doga_dashboard.png b/doga-frontend/public/doga_dashboard.png deleted file mode 100644 index 24785c7ea1c15d12548c5b204f59d95d605f9a20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53320 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
  • m#{8^8>Mugs`?>uq5t8 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 z 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 GjQB4F`HqRH{L`fQmHfHPl3< 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 diff --git a/doga-frontend/public/doga_log.png b/doga-frontend/public/doga_log.png deleted file mode 100644 index 789ef661e77e9885746ecf42e1119e699e78eb89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50206 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 G^Zx+Miw7(K diff --git a/doga-frontend/public/doga_login.png b/doga-frontend/public/doga_login.png deleted file mode 100644 index 82a0a58459fd5463fd68c9e9fb956186f8983db8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24580 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%0A8=L{^-_Q#{9+dPZU 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
  • I!E%Prp^E}kRhqw>=$w_UMN(XhwyT<+nC=C( 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
    - - - diff --git a/doga-frontend/public/logo.jpg b/doga-frontend/public/logo.jpg deleted file mode 100644 index 6ea9aff12274ed81d832963849e9fa8e6090908d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22986 zcmeIa2|U!@7dZT#8T*>Gk`T(i%rM3fvS&;7B@$z3EHj!J6iNH0QbHn$?26=(khCb3 zB3ml7$(p6bQpEi4ccgfJ&+mEa_df6EeLwHp_4(d8_uO;OJ@?#mmvis;i}9543R+}o zW?=>)kO*ik_=6a)xkOF3lKddZ#s*S^AczBEM+ibF03pC1gb;&RnJ@(TAeMcH0}%4x zXpn#g4S^UE2M-m2VZy=yK6Zcvv3x6=34R|#TwixWkldoVUqfGt4^e9UW(u7`+e`_O zGIr3Aav_m@Dd98-qmI_pQAg`wa8hWz4n|!EjRq_r)H%ct+0G&7_#-*aq2^$OAxsDY z8v^x>mTi7J5E4Jyfmk)a9Y81FRs=Huf#HAxhQh+i#?HaX#SP41VI~4XqUJIeK?oKE3dw?GWoP4HMe%5WOaTqS(q}hv$0~CBCJ3QvH%ITNDHxIcAXH0CAewd_+CTS=QVYAoUwxl zfu{LkB^xXN`zq|MCLqN5#lEIaT6E%@?;`wn3FLl=z<3VvpqOIei_9Zlg@Ex3FbA z{uCLVS~5Azfbta;of(j>|5zsja&%m88D}9IpJ^STa{u~;fMwU;y?8zlv`cN9NO5H< zFQw|<=BwqRKHUxpjuBVKG0!JBmlcE*r=)y&)X@?@YVi5l^fm_c;3fkq7LM-st^V-G zhH?eHS734 z*^!elqk3WTzJInxd+f>0`%i2f@Cpr`i47ladD-Bxczy-(j~US2=67u~&ivB{&x1OY zhjYd@ypyyDOl#2z9c{U(b`{r>cm7LwS4se7{A`6N13Ef#@!akW`(NpbrLli)zxBND zWmgLAnTy9wp1>ozay)S?Cxl|ct0^Oc_ey3IR_c4zpI;w0u3t8`c%bb`2mf;hhXX>DhT>V5`<^&9C83e<0QU_fbwBR!{1^t>jHeyt2C2?*17*1fX9>I%;9UAbr-}U^f}bXo4o6}|-x$2C zG#nnqO=p)4&-f2<-*YKpK!?93jz#C$_CGs1rdWG

    y|Rr^EAhV^4#W{_Y5amWwO( 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�GABQ7f%TIRD3^^V5H7D@(2FmtBM{ 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/doga-frontend/public/maleLogo.png b/doga-frontend/public/maleLogo.png deleted file mode 100644 index 949b619683a92d01b89b23ffde8db9e75332a34e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50164 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 z 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 diff --git a/doga-frontend/public/manifest.json b/doga-frontend/public/manifest.json deleted file mode 100644 index 080d6c7..0000000 --- a/doga-frontend/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/doga-frontend/public/many-many.png b/doga-frontend/public/many-many.png deleted file mode 100644 index ea12fa91adfc52f354aa39e6adec16a4d93d6c96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6742 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 diff --git a/doga-frontend/public/many-one.png b/doga-frontend/public/many-one.png deleted file mode 100644 index 1c000cb3331b3a6b63c2b3bd768eaaf8c2a0be12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4443 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 diff --git a/doga-frontend/public/one-many.png b/doga-frontend/public/one-many.png deleted file mode 100644 index b33eb0202652465b9c8d28e75c3060c0e8d18bac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5353 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 IR2^gf1qIN;!2kdN diff --git a/doga-frontend/public/one-one.png b/doga-frontend/public/one-one.png deleted file mode 100644 index 80ff78f4fb41a37b5e163dcf845345599933a6ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2850 zcmZuy3p|r;AKu3B&au~VL~CBwe<}@M{o5P%H%wm|WZ8=3qMWRx2tjt#_Od=8@ zis&UB$f+Ds&Pg?`F!`o>d%y4fzUTSf&wV}r`}$x1`}#k>-*caE-Mv#9q6z^30Md>Q zIJ|J~6AldtG2zpdIQ9hq5QS20ZC%4`ciPg!=}ZD6fK1s*iJ&m4Wc*GW0APDYhKGO1 zMh^vS11nhbk8VP^@iF#wOKC0XbDqXU)%6L(!zK~gjwVC!=^+05?%YS++l?Ali}u*L z#-U~l6k6}qCc?Bo%f7@`BhN#$hI(Pz*y^vzuG1%r=km;r@~HKdBb4`Xyo(E$4!y4n zUI0(ml@hZv6@W_lHw=`~Kzpl3;PNioH?FAC!VYK+$8^>N|7i4a*6g%^3B)_6~!vfBa`%=8L zsqjj9P1@$eQ%6mB`r`(vPfVx&B(w~am7Z(6&=T2NyUpj*Cv(x}6ZO9NAKRHLG{U7% zQxmh>@;eX3-~`KeV;uPL%)%Y>GjY?rquB=Hf~z@M$%?JXsR>2)*8HjQZq1G>i-X+{P;TpoQguUEy|nF{XX1chimV#RYc5JE|Kvq%|X5XFozeS6}A# zam`Mh6|jG!;NiYXzZrc~x7*{;i}haJOZ%4Q1ZcjVAoR*u!dtJ8waj*(u7)b-2k*j( ztSApvn%Enq56|-2PPD1>4t#v;C2M~;`%&Ih#iBpPn~spN=jMQyLzg_EyEAay#pK15 zYW>Eo@!G2o8z0C28UHxGJHEvqlxg01@lDff1Y;9x-$Q;VPt|AikW!3FZSYKX70;m7qnJZyp}* zGmI=9bx*p>_9koj^gnEa(z8t5zufWS6~WK%nZQ%!2<8O&lFD9d*_2zwksKOmMWFto zB%%sG`b(P~C&Zj~MDMK_LHSog7;_1Z# zbc3wCFJk9~6{+SX%a89?5aXw+0ofZ9liD>SRG$1PJ_6p(J33VLvPC`9Ax?6v_scu} zy=8Rt;nm)mSFJ4WltE&RsrkiwqYLaltkqf>AUGod$SI8T5b={-5dJFyDMZKpE-nCF zA(jA$0DlLF2oX?t1Ar(1NQgHG2Relc5d9tp0C2(?U>!scq`(|$0l^eJB_Jq97y@xX zzc_sykzZJ2ou8Kvj1?+&Qr(GcqKmT`nNC9ltZN{mX^eFO026H{gft2}02WOPk6@Wa zTfo0F%!GJ7jD*9!Q`lh^aH5MV%$Cliz_uZb5r%Lq1O|g)m_hr^@HqRQ>B2V)cnF)# zFhe4vqM{H{MhH4H7>U}kV+Ya@jYOjjgbV{#Oawb1+8~0Z`9tI{9UO&4W>Oh!Dm?u27fPq9I43YmYiA~-A_xAoPYklQM+ILq! zieZGUF|%b-0@!q>JDnbm{b&C%$bT~a-YI5X(rgctN)dWpcZ5Y@kpC0=$;Tkq?f!@T zAHDq^6*d2eQROi(`1n1AselMNe4yUJgzFp5obm4V-gSvu4Zbf?$yL*{H8OYovxhvu#3#O zg;LIqgbs*;-GQg`!w{~NTX<<0vR3Vg<+K<(Qz1H4xUze)zW*-qt#Z>!v*$bBk!Y|2 z32ueGN8p!~ydo)08$RT{@Y$8rqir~Fy0iDP6K(@2r(w;cInrL=rY$r%CJcxViRb2K z>K^U05$}iG-hHlXh584+3_lhLS>zemwBiA!@H+!jB9V#+qG*?d%0P#XZ$(`>sod6% z@w7Q)LQge7L*0O6!Gi=OM8=X-#H(hjFhfxy}eqgm<6<6Y&dySB%*XIC& z*3`2P^bo`3^o6ZBgD`VR3zj%RA8D$kJTR7v*^=G4e}fv&&^Yk*BVGL1E5&Ipe~=y8 z*>?Vg{4L5H$&chbvGwco<~JnCmnvbjUE<>Nk@!@-fZbzrYGHuqpp2VEot>6_h>CfL zanIe50~n|pRDW+79Ng`al-2(XzZG|*bpSHi7QWo!XHl~xK*0(IMMohe0npQ|^kck3 z@5lO5?Yz(Sw_k6oF?MBzbk$PWj`CpEp4kxyH?cuLWhAc^Cyna`jz{Kq#ds5v1D zWW?JG+gRNQ)3#H4jfS#7!JKBFHJ341V9}GFz-xL$^3AsS4jUN_)F}a7TIPrybUS|B zcmGh@71N<~k2HrxzIu4aBhkpXOG%m57!m1%C-Ed#;Np@>p33=~mqy7uaHvxa9X4Gf zjP!KDX~n>&q={kRWL8{fmvUf{ooa`UhQzUSzox#flm5#yUt_ebtQ>wL&X8Il*ws8` z)Y-N?*bz*#&m`(iX%-YA#f%Ns>xw#UTkH#oOsz?CU>|=nOOHtk@TuEbesB%H8SOV^~PinyOpls zn$x0|hM$`ng>XMh@?wu0(8F}V53e+1 { - try { - const { data } = - queryKey[1] === "jwt_info" - ? await ApiJwt.get(queryKey[0]) - : queryKey[1] === "baseURL" - ? await ApiApp.get(queryKey[0]) - : await Api.get(queryKey[0]); - return data; - } catch (error) {} -}; - -export const APIURLS = { - login: "/admin/login", - signup: "/admin/admin_profile", - createDB: "/admin/dbinit", - userInfo: "/admin/admin_profile/nishant@gmail.com", - dashboardInfo: (section, filter) => - `/admin/dashboard/stats/${section}/${filter}`, - appInfo: (app) => `/admin/dashboard/stats/${app}/all`, - appStats: (app) => `/admin/dashboard/stats/app/${app}`, - appDocs: (app) => `/admin/docs/${app}`, - dbInfo: (db) => `/admin/dashboard/stats/db/${db}`, - getDbConnections: "/admin/dbinit", - getDbDefaults: "/admin/utils/defaults/db", - getColumnTypes: "/admin/columntypes", - getContentType: "/admin/content/types", - getUserImages: "/admin/assets/list/image", - getTableContent: ({ app, table }) => `/${app}/${table}/`, - baseJwtLogin: ({ app, table }) => `/${app}/${table}/login`, - postRegisterTableData: ({ app, table }) => `/${app}/${table}/register`, - getUserCongif: () => `/admin/utils/aws/form/config`, - getUserRdsCongif: () => `/admin/utils/aws/form/rds_config`, - getUserEc2Congif: () => `/admin/utils/aws/form/ec2_config`, - getTableContentById: ({ app, table, editDataId }) => - `/${app}/${table}/${editDataId}`, - deleteTable: ({ app, table }) => `admin/content/types/${app}/${table}`, - getForeignkey: "/admin/content/relations", - exportApp: () => "/admin/export/local", - awsExport: () => "/admin/export/aws", - herokuExport: () => "/admin/export/heroku", - emailNotify: () => "/admin/notify/email", - smsNotify: () => "/admin/notify/sms", - markAllNotifications: "/admin/info/markread/all", - markIndividualNotifications: ({ id }) => `/admin/info/markread/${id}`, - uploadImage: () => `/admin/assets/upload/image`, - getNotifications: "/admin/info/allrequests", -}; - -export default Api; diff --git a/doga-frontend/src/App.css b/doga-frontend/src/App.css deleted file mode 100644 index 74b5e05..0000000 --- a/doga-frontend/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/doga-frontend/src/App.js b/doga-frontend/src/App.js deleted file mode 100644 index 523bb05..0000000 --- a/doga-frontend/src/App.js +++ /dev/null @@ -1,201 +0,0 @@ -import React, { useEffect, Suspense } from "react"; -import { Route, Switch, Redirect } from "react-router-dom"; -import { setGlobal, useGlobal } from "reactn"; -import { setHeader, defaultQueryFn, setJwtHeader } from "./Api"; -import { ReactQueryDevtools } from "react-query/devtools"; -import { QueryClient, QueryClientProvider } from "react-query"; -import { ChakraProvider, createStandaloneToast } from "@chakra-ui/react"; -import Header from "./components/Header/Header"; -import Sidebar from "./components/Sidebar/Sidebar"; -import { ThemeProvider } from "@emotion/react"; -import theme from "./styles/theme"; -import { Box } from "./styles"; -import "./styles/globals.css"; -import ClipLoader from "react-spinners/ClipLoader"; -import { io } from "socket.io-client"; - -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - queryFn: defaultQueryFn, - refetchOnWindowFocus: false, - }, - }, -}); - -setGlobal({ - token: null, - baseURL: {}, -}); - -const Login = React.lazy(() => { - return import("./containers/Login/Login"); -}); -const Signup = React.lazy(() => { - return import("./containers/Signup/Signup"); -}); -const Dashboard = React.lazy(() => { - return import("./containers/Dashboard/Dashboard"); -}); -const CreateDatabase = React.lazy(() => { - return import("./containers/CreateDatabase/CreateDatabase"); -}); -const Database = React.lazy(() => { - return import("./containers/Database/Database"); -}); - -const Content = React.lazy(() => { - return import("./containers/Application/Content"); -}); -const AppHome = React.lazy(() => { - return import("./containers/AppHome/AppHome"); -}); -const HerokuDeploy = React.lazy(() => { - return import("./containers/Deploy/HerokuDeploy"); -}); -const AwsDeploy = React.lazy(() => { - return import("./containers/Deploy/Deploy"); -}); -const Twilio = React.lazy(() => { - return import("./containers/Plugins/Twilio"); -}); -const Sendgrid = React.lazy(() => { - return import("./containers/Plugins/Sendgrid"); -}); -const Application = React.lazy(() => { - return import("./containers/Application/Application"); -}); -const AppDocs = React.lazy(() => { - return import("./containers/AppDocs/AppDocs"); -}); - -const socket = io("http://127.0.0.1:8008", { - query: `Authorization=${localStorage.getItem("token")}`, -}); - -socket.on("connect", () => {}); - -const App = (props) => { - const [token, setToken] = useGlobal("token"); - const [deployProcessStatus, setdeployProcessStatus] = useGlobal("deploy"); - const [html, setHtml] = useGlobal("html"); - const [jwtToken, setJwtToken] = useGlobal("jwtToken"); - const toast = createStandaloneToast(); - - useEffect(() => { - if (socket.disconnected) { - socket.on("connect", () => {}); - } - }, [socket]); - - React.useEffect(() => { - socket.on("broadcast message", function (msg) { - if (msg.action_type === "deploy-app") { - setdeployProcessStatus({ - status: msg.action_status, - message: msg.full_message, - }); - } - toast({ - position: "top-right", - description: msg.full_message, - status: "info", - duration: 3000, - isClosable: true, - }); - }); - }, []); - - useEffect(() => { - let token = localStorage.getItem("token"); - if (token) { - setToken(token); - setHeader(token); - } - }, [token, setHeader, localStorage.getItem("token")]); - - useEffect(() => { - let token = localStorage.getItem("jwtToken"); - if (token) { - setJwtToken(token); - setJwtHeader(token); - } - }, [jwtToken, setJwtHeader, localStorage.getItem("jwtToken")]); - - let routes = ( - - } /> - } /> - - - ); - - if (localStorage.getItem("token")) { - routes = ( - - } /> - } /> - } /> - } /> - } /> - } - /> - } /> - } /> - } /> - } /> - - } /> - } /> - } - /> - - ); - } - - let show = !localStorage.getItem("token") ? ( - Loading...

    }>{routes} - ) : ( - - - - - - - } - > -
    - {routes} - - - - ); - - return ( - <> - - - - {/* */} - {show} - - - - - ); -}; - -export default App; diff --git a/doga-frontend/src/App.test.js b/doga-frontend/src/App.test.js deleted file mode 100644 index 1f03afe..0000000 --- a/doga-frontend/src/App.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import { render, screen } from '@testing-library/react'; -import App from './App'; - -test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); diff --git a/doga-frontend/src/components/Header/Header.js b/doga-frontend/src/components/Header/Header.js deleted file mode 100644 index 49b3286..0000000 --- a/doga-frontend/src/components/Header/Header.js +++ /dev/null @@ -1,426 +0,0 @@ -import React from "react"; -import { useGlobal } from "reactn"; -import { NavLink, Link, useLocation, useRouteMatch } from "react-router-dom"; -import { Box, Button, Para, MotionBox, H5 } from "../../styles"; -import { - Breadcrumb, - BreadcrumbItem, - BreadcrumbLink, - createStandaloneToast, - Menu, - MenuButton, - MenuList, - MenuItem, - MenuGroup, - MenuDivider, - Icon, - Tooltip, -} from "@chakra-ui/react"; -import { FaBell } from "react-icons/fa"; -import { AiFillHome, AiFillCaretDown } from "react-icons/ai"; -import { useQuery, useQueryClient } from "react-query"; -import Api, { APIURLS } from "../../Api"; - -const Header = () => { - const location = useLocation(); - let match = useRouteMatch(); - const [token, setToken] = useGlobal("token"); - const queryClient = useQueryClient(); - const toast = createStandaloneToast(); - - const { data } = useQuery(APIURLS.getNotifications, { - enabled: !!token, - }); - - async function notificationRefreshHandler() { - try { - await queryClient.refetchQueries(APIURLS.getNotifications()); - } catch ({ response }) {} - } - - async function handleLogout() { - localStorage.removeItem("token"); - localStorage.removeItem("userId"); - localStorage.removeItem("userEmail"); - localStorage.removeItem("userName"); - setToken(null); - } - - async function markAllHandler() { - try { - let { data } = await Api.post(APIURLS.markAllNotifications); - await queryClient.refetchQueries(APIURLS.getNotifications()); - } catch ({ response }) {} - } - async function markIndividualHandler(id) { - try { - let { data } = await Api.post(APIURLS.markIndividualNotifications(), { - id: id, - }); - await queryClient.refetchQueries(APIURLS.getNotifications()); - toast({ - title: "Notification Marked Read.", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - } - } - - return ( - <> - - {location.pathname === "/dashboard" ? ( - - - - - {" "} - - - - - - ) : location.pathname === "/database" ? ( - - - - {" "} - - - - - - Database - - - - ) : location.pathname === "/deploy/aws" ? ( - - - - {" "} - - - - - - AWS - - - - ) : location.pathname === "/deploy/heroku" ? ( - - - - {" "} - - - - - - Heroku - - - - ) : location.pathname === "/plugin/sendgrid" ? ( - - - - {" "} - - - - - - Sendgrid - - - - ) : location.pathname === "/plugin/Twilio" ? ( - - - - {" "} - - - - - - Twilio - - - - ) : ( - - - - {" "} - - - - - )} - - {!token ? ( - <> - {" "} - - - - - - {" "} - - ) : ( - <> - - - - - - {" "} - - - {" "} - notificationRefreshHandler()} - /> - - - - - - - - - - Notifications - - - - {data?.length ? ( - data?.reverse()?.map((key, index) => ( - - key.mark_read - ? markIndividualHandler(key.id) - : null - } - > - {/*
    {"heading"}
    */} -
    - {key.message} -
    -
    - {key.received_at} -
    -
    - )) - ) : ( - -
    - {"No Notifications"}. -
    -
    - )} - {data?.length ? ( - - ) : null} -
    -
    -
    - - - - - - - - - - - - - - - - Profile}> - - My Account - - - Log out - - - - Help}> - - Docs - - - FAQ - - - - -
    - - )} -
    -
    - - ); -}; - -export default Header; diff --git a/doga-frontend/src/components/ImageUploadSelect/ImageUploadSelect.js b/doga-frontend/src/components/ImageUploadSelect/ImageUploadSelect.js deleted file mode 100644 index b5fac72..0000000 --- a/doga-frontend/src/components/ImageUploadSelect/ImageUploadSelect.js +++ /dev/null @@ -1,135 +0,0 @@ -import React, { useState, useEffect } from "react"; -import { useForm } from "react-hook-form"; -import { NavLink } from "react-router-dom"; -import { useGlobal } from "reactn"; -import { - Box, - ResponsiveImage, - Image, - Button, - StyledLink, - Span, - MotionBox, - H2, - H1, - Input, - Label, - Para, -} from "../../styles"; -import { - Accordion, - AccordionItem, - AccordionButton, - AccordionPanel, - AccordionIcon, -} from "@chakra-ui/react"; -import { Icon } from "@chakra-ui/react"; -import { useQuery, useQueryClient } from "react-query"; -import { useToast, createStandaloneToast } from "@chakra-ui/react"; -import Api, { setJwtHeader, APIURLS, ApiUpload } from "../../Api"; -import Select from "react-select"; - -const ImageUploadSelect = ({ setMarkedImage, markedImage }) => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [selectedImage, setSelectedImage] = useState(); - - const queryClient = useQueryClient(); - const toast = createStandaloneToast(); - const { data, isLoading } = useQuery(APIURLS.getUserImages); - async function fileUpload() { - try { - const formData = new FormData(); - formData.append("image", selectedImage); - let { data } = await ApiUpload.post(APIURLS.uploadImage(), formData); - toast({ - title: "Success", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - await queryClient.refetchQueries(APIURLS.getUserImages); - } catch ({ response }) { - toast({ - title: "An error occurred.", - status: "error", - duration: 9000, - isClosable: true, - }); - } - } - - const fileSelectHandler = (event) => { - setSelectedImage(event.target.files[0]); - }; - - return ( - <> - - - - - - - - - - - {" "} - - {"Select Image"} - - - - - - - {data && - Object.entries(data).map(([index, val]) => { - return ( - - {" "} - setMarkedImage(val["image"])} - style={{ - border: - markedImage == val["image"] - ? "3px solid #8071b3" - : null, - padding: "2px", - }} - > - - ); - })} - - - - - - ); -}; - -export default ImageUploadSelect; diff --git a/doga-frontend/src/components/Modal/AppTableCreation.js b/doga-frontend/src/components/Modal/AppTableCreation.js deleted file mode 100644 index ea034f5..0000000 --- a/doga-frontend/src/components/Modal/AppTableCreation.js +++ /dev/null @@ -1,97 +0,0 @@ -import React, { useState, useEffect } from "react"; -import { useForm } from "react-hook-form"; -import { Box, Label } from "../../styles"; -import { - Modal, - ModalOverlay, - ModalContent, - ModalHeader, - ModalBody, - ModalCloseButton, -} from "@chakra-ui/react"; -import { Redirect } from "react-router-dom"; -import ClipLoader from "react-spinners/ClipLoader"; -import { useIsFetching } from "react-query"; -import CreateTable from "../../containers/Application/CreateTable"; -import CreateTableName from "../../containers/Application/CreateTableName"; - -const AppTableCreation = ({ - isOpen, - onOpen, - onClose, - appName, - columns, - basejwtPresent, - tableNamePassed, - edit, -}) => { - const { handleSubmit, register, errors } = useForm(); - const [tableName, setTableName] = useState(tableNamePassed || null); - const [newStep, setNewStep] = useState(); - const isFetching = useIsFetching(); - useEffect(() => { - if (edit) { - setNewStep(2); - } else { - setNewStep(1); - } - }, [edit]); - - async function onCloseHandler() { - setTableName(); - - if (edit) { - setNewStep(2); - } else { - setNewStep(1); - } - onClose(); - } - - return ( - <> - - - - - - - - - {newStep === 1 && ( - - )} - {newStep === 2 && ( - <> - - - )} - {newStep === 3 && ( - <> - - {isFetching ? ( - - ) : ( - - )} - - - )} - - - - - ); -}; - -export default AppTableCreation; diff --git a/doga-frontend/src/components/Modal/AppTableData.js b/doga-frontend/src/components/Modal/AppTableData.js deleted file mode 100644 index 7d452cd..0000000 --- a/doga-frontend/src/components/Modal/AppTableData.js +++ /dev/null @@ -1,595 +0,0 @@ -import React, { useState, useEffect } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Box, Button, Span, Input, Label } from "../../styles"; -import DateTimePicker from "react-datetime-picker"; -import { - Modal, - ModalOverlay, - ModalContent, - ModalHeader, - ModalBody, - ModalCloseButton, -} from "@chakra-ui/react"; -import { useQuery, useQueryClient } from "react-query"; -import { createStandaloneToast } from "@chakra-ui/react"; -import { setJwtHeader, APIURLS, ApiJwt, ApiApp } from "../../Api"; -import Select from "react-select"; -import { CKEditor } from "@ckeditor/ckeditor5-react"; -import ClassicEditor from "@ckeditor/ckeditor5-build-classic"; -import ImageUploadSelect from "../ImageUploadSelect/ImageUploadSelect"; - -const AppTableData = ({ - isOpen, - onOpen, - onClose, - app, - columns, - table, - editDataId, - basejwt, - restrictByJwt, -}) => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [selectedFieldType, setSelectedFieldType] = useState(); - const [value, setValue] = useState({}); - const [selectedBooleanType, setSelectedBooleanType] = useState({}); - const [selectedBinaryType, setSelectedBinaryType] = useState({}); - const [jwtToken, setJwtToken] = useGlobal("jwtToken"); - const [markedImage, setMarkedImage] = useState(); - const [html, setHtml] = useState(); - const toast = createStandaloneToast(); - const queryClient = useQueryClient(); - const columnTypes = useQuery(APIURLS.getColumnTypes); - const contentType = useQuery([APIURLS.getContentType], { - enabled: !!token, - }); - const { data, isFetching } = useQuery( - [APIURLS.getTableContentById({ app, table, editDataId }), basejwt], - { - enabled: !!token, - } - ); - useEffect(() => { - let token = Object.entries(columns).map(([prop, val]) => { - if ( - val.type === "DATETIME" || - val.type === "TIME" || - val.type === "DATE" - ) { - let obj = value; - obj[val?.name] = new Date(); - setValue(obj); - } - if (val.type === "BOOLEAN") { - let obj = selectedBooleanType; - obj[val?.name] = ""; - - setSelectedBooleanType(obj); - } - if (val.type === "BLOB") { - let obj = selectedBinaryType; - obj[val?.name] = ""; - setSelectedBinaryType(obj); - } - }); - }, []); - - const richTextHandler = (event, editor) => { - const data = editor.getData(); - setHtml(data); - }; - - let booleanTypesOptions = [ - { - value: "true", - label: "true", - }, - { - value: "false", - label: "false", - }, - { - value: 1, - label: 1, - }, - { - value: 0, - label: 0, - }, - ]; - let binaryTypesOptions = [ - { - value: 1, - label: 1, - }, - { - value: 0, - label: 0, - }, - ]; - const setValueHandler = (e, name) => { - let obj = value; - obj[name] = e; - setValue(obj); - }; - let fields = null; - fields = Object.entries(columns).map(([prop, val]) => { - return ( - <> - - - {val.type === "INTEGER" || - val.type === "Integer" || - val.type === "INT" ? ( - - ) : val.type === "Enum" ? ( - <> - {/* - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - ) : val.type === "NUMERIC" ? ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - ) : val.type === "DECIMAL" ? ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - ) : val.type === "FLOAT" ? ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - ) : val.type === "BOOLEAN" ? ( - - option.label === selectedBinaryType[val.name] - )} - onChange={({ value }) => - setSelectedBinaryType({ - ...selectedBinaryType, - [val.name]: value, - }) - } - required - theme={CARD_ELEMENT_OPTIONS} - placeholder="Select Type" - options={binaryTypesOptions} - /> - - ) : val.type === "VARCHAR(123)" ? ( - -
    - { - console.log("Editor is ready to use!", editor); - }} - onChange={richTextHandler} - /> -
    -
    - ) : val.type === "ImageType" ? ( - - - - ) : ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - )} -
    - - ); - }); - - function convert(str, type) { - var mnths = { - Jan: "01", - Feb: "02", - Mar: "03", - Apr: "04", - May: "05", - Jun: "06", - Jul: "07", - Aug: "08", - Sep: "09", - Oct: "10", - Nov: "11", - Dec: "12", - }, - date = str.split(" "); - if (type === "DATETIME") { - return [[date[3], mnths[date[1]], date[2]].join("-"), date[4]].join(" "); - } else if (type === "DATE") { - return [date[3], mnths[date[1]], date[2]].join("-"); - } else { - return `${date[4]}`; - } - } - - async function handleSignup(params) { - for (let key in columns) { - if ( - columns[key]["type"] === "INTEGER" || - columns[key]["type"] === "Integer" || - columns[key]["type"] === "INT" || - columns[key]["type"] === "BIGINT" || - columns[key]["type"] === "NUMERIC" - ) { - let name = columns[key]["name"]; - params[name] = parseInt(params[name]); - } else if ( - columns[key]["type"] === "DECIMAL" || - columns[key]["type"] === "FLOAT" - ) { - let name = columns[key]["name"]; - params[name] = parseFloat(params[name]); - } else if (columns[key]["type"] === "TIME") { - let name = columns[key]["name"]; - params[name] = convert(`${value[name]}`, columns[key]["type"]); - } else if (columns[key]["type"] === "DATETIME") { - let name = columns[key]["name"]; - params[name] = convert(`${value[name]}`, columns[key]["type"]); - } else if (columns[key]["type"] === "DATE") { - let name = columns[key]["name"]; - params[name] = convert(`${value[name]}`, columns[key]["type"]); - } else if (columns[key]["type"] === "BOOLEAN") { - let name = columns[key]["name"]; - params[name] = - selectedBooleanType[name] === "true" - ? true - : selectedBooleanType[name] === "false" - ? false - : selectedBooleanType[name]; - } else if (columns[key]["type"] === "BLOB") { - let name = columns[key]["name"]; - params[name] = selectedBinaryType[name]; - } else if (columns[key]["type"] === "VARCHAR(123)") { - let name = columns[key]["name"]; - params[name] = html; - } else if (columns[key]["type"] === "ImageType") { - let name = columns[key]["name"]; - params[name] = markedImage; - } - } - try { - let { data } = - basejwt && restrictByJwt && editDataId - ? await ApiJwt.put( - APIURLS.getTableContentById({ app, table, editDataId }), - { - ...params, - } - ) - : basejwt && editDataId - ? await ApiJwt.put( - APIURLS.getTableContentById({ app, table, editDataId }), - { - ...params, - } - ) - : basejwt && restrictByJwt - ? await ApiJwt.post(APIURLS.getTableContent({ app, table }), { - ...params, - }) - : basejwt && basejwt.base_table === table - ? await ApiApp.post(APIURLS.postRegisterTableData({ app, table }), { - ...params, - }) - : editDataId - ? await ApiApp.put( - APIURLS.getTableContentById({ app, table, editDataId }), - { - ...params, - } - ) - : await ApiApp.post(APIURLS.getTableContent({ app, table }), { - ...params, - }); - if (basejwt) { - let jwtToken = data?.access_token; - localStorage.setItem("jwtToken", jwtToken); - setJwtHeader(jwtToken); - setJwtToken(jwtToken); - await queryClient.refetchQueries([ - APIURLS.getTableContent({ app, table }), - "jwt_info", - ]); - } else { - await queryClient.refetchQueries([ - APIURLS.getTableContent({ app, table }), - ]); - } - - toast({ - title: "Data Added.", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - setMarkedImage(); - onClose(); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - } - } - - return ( - <> - - - - - {" "} - - - - - -
    - {fields} - -
    -
    -
    -
    -
    - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default AppTableData; diff --git a/doga-frontend/src/components/Modal/BaseJwtLogin.js b/doga-frontend/src/components/Modal/BaseJwtLogin.js deleted file mode 100644 index a23eb5a..0000000 --- a/doga-frontend/src/components/Modal/BaseJwtLogin.js +++ /dev/null @@ -1,120 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Box, Button, Span, Input, Label } from "../../styles"; -import { - Modal, - ModalOverlay, - ModalContent, - ModalHeader, - ModalBody, - ModalCloseButton, -} from "@chakra-ui/react"; -import { useQueryClient } from "react-query"; -import { createStandaloneToast } from "@chakra-ui/react"; -import Api, { setJwtHeader, APIURLS } from "../../Api"; - -const BaseJwtLogin = ({ isOpen, onOpen, onClose, app, table, basejwt }) => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [selectedFieldType, setSelectedFieldType] = useState(); - const [jwtToken, setJwtToken] = useGlobal("jwtToken"); - const queryClient = useQueryClient(); - const toast = createStandaloneToast(); - let fields = null; - if (basejwt) { - fields = Object.entries(basejwt?.filter_keys).map(([prop, val]) => { - return ( - <> - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - {" "} - - ); - }); - } - - async function handleSignup(params) { - try { - let { data } = await Api.post( - APIURLS.baseJwtLogin({ app, table }), - params - ); - - let jwtToken = data?.access_token; - - localStorage.setItem("jwtToken", jwtToken); - - setJwtHeader(jwtToken); - setJwtToken(jwtToken); - - toast({ - title: "Success", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - await queryClient.refetchQueries([ - APIURLS.getTableContent({ app, table }), - "jwt_info", - ]); - onClose(); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - } - } - - return ( - <> - - - - - {" "} - - - - - -
    - {fields} - -
    -
    -
    -
    -
    - - ); -}; - -export default BaseJwtLogin; diff --git a/doga-frontend/src/components/Modal/ContentField.js b/doga-frontend/src/components/Modal/ContentField.js deleted file mode 100644 index 4f17633..0000000 --- a/doga-frontend/src/components/Modal/ContentField.js +++ /dev/null @@ -1,447 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Box, Button, Span, Input, Label, Para } from "../../styles"; -import { - Modal, - ModalOverlay, - ModalContent, - ModalHeader, - ModalBody, - ModalCloseButton, -} from "@chakra-ui/react"; -import { Switch } from "@chakra-ui/react"; -import { useQuery, useQueryClient } from "react-query"; -import { useToast, createStandaloneToast } from "@chakra-ui/react"; -import Api, { setHeader, APIURLS } from "../../Api"; -import Select from "react-select"; - -const ContentField = ({ - isOpen, - onOpen, - onClose, - appName, - connectionSelected, - columns, - tablename, -}) => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [selectedFieldType, setSelectedFieldType] = useState(); - const [foreignKeyOptions, setForeignKeyOptions] = useState(); - const [relationOptions, setRelationOptions] = useState(); - const [foreignKeyTable, setForeignKeyTable] = useState(); - const [foreignKeyColumn, setForeignKeyColumn] = useState(); - const [foreignKeyCheck, setForeignKeyCheck] = useState(false); - const [relationCheck, setRelationCheck] = useState(false); - const [relationshipType, setRelationshipType] = useState(); - const [relatedTable, setRelatedTable] = useState(); - const [relatedField, setRelatedField] = useState(); - const [value, setValue] = React.useState("1"); - const toast = createStandaloneToast(); - const queryClient = useQueryClient(); - const columnTypes = useQuery(APIURLS.getColumnTypes); - const contentType = useQuery(APIURLS.getContentType); - - async function foreignkeyfn() { - let foreignKeyCheckValue = foreignKeyCheck; - setForeignKeyCheck(!foreignKeyCheckValue); - try { - let { data } = await Api.post(APIURLS.getForeignkey, { - app_name: appName, - type: selectedFieldType, - }); - setForeignKeyOptions(data); - } catch ({ response }) {} - } - - async function relationshipfn() { - let relationCheckValue = relationCheck; - setRelationCheck(!relationCheckValue); - try { - let { data } = await Api.post(APIURLS.getForeignkey, { - app_name: appName, - type: "", - }); - setRelationOptions(data); - } catch ({ response }) {} - } - - let columnTypesOptions = []; - - if (columnTypes?.data?.result) { - { - Object.entries(columnTypes?.data?.result).map(([prop, val]) => { - return columnTypesOptions.push({ value: val, label: val }); - }); - } - } - - let foreignkeyTable = []; - if (foreignKeyOptions) { - { - Object.entries(foreignKeyOptions).map(([prop, val]) => { - return foreignkeyTable.push({ value: prop, label: prop }); - }); - } - } - let foreignkeyColumns = []; - if (foreignKeyTable) { - for (let key in foreignKeyOptions[foreignKeyTable]) { - foreignkeyColumns.push({ - value: foreignKeyOptions[foreignKeyTable][key], - label: foreignKeyOptions[foreignKeyTable][key], - }); - } - } - let relationTable = []; - if (relationOptions) { - { - Object.entries(relationOptions).map(([prop, val]) => { - return relationTable.push({ value: prop, label: prop }); - }); - } - } - let relationColumns = []; - if (relatedTable) { - for (let key in relationOptions[relatedTable]) { - relationColumns.push({ - value: relationOptions[relatedTable][key], - label: relationOptions[relatedTable][key], - }); - } - } - - async function handleSignup(params) { - try { - let def = params.default; - if (selectedFieldType === ("INTEGER" || "INT" || "Integer")) { - def = parseInt(params.default); - } - if (foreignkeyColumns && foreignKeyCheck) { - columns.push({ - name: params.name, - type: selectedFieldType, - nullable: params.nullable, - unique: params.unique, - default: def, - foreign_key: `${foreignKeyTable}.${foreignKeyColumn}`, - }); - } else if (relationCheck && relationColumns) { - columns.push({ - name: params.name, - type: selectedFieldType, - nullable: params.nullable, - unique: params.unique, - default: def, - relationship: { - relationship_type: relationshipType, - related_field: relatedField, - related_table: relatedTable, - }, - }); - } else { - columns.push({ - name: params.name, - type: selectedFieldType, - nullable: params.nullable, - unique: params.unique, - default: def, - }); - } - - let { data } = await Api.put(APIURLS.getContentType, { - table_name: tablename, - app_name: appName, - // restrict_by_jwt: false, - columns: columns, - }); - - await queryClient.refetchQueries([APIURLS.getContentType]); - // setSuccess(true); - - toast({ - title: "Database created successfully.", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - onClose(); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - } - } - - return ( - <> - - - - - {" "} - - - - - -
    - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - Do you want to add foreign key - - -
    - - - - setForeignKeyColumn(value)} - required - theme={CARD_ELEMENT_OPTIONS} - placeholder="Select Field" - options={foreignkeyColumns} - /> - - - - Do you want to add Relations - - - - - setRelatedTable(value)} - required - theme={CARD_ELEMENT_OPTIONS} - placeholder="related_table" - options={relationTable} - /> - - - setSelectedCollection(value)} - required - theme={CARD_ELEMENT_OPTIONS} - placeholder="Select Mysql Connection" - options={mysqlOptions} - /> - - - ) : dbTypeSelected === 1 ? ( - <> - - setSelectedCollection(value)} - required - theme={CARD_ELEMENT_OPTIONS} - placeholder="Select Sqlite Connection" - options={sqliteOptions} - /> - - - ) : null; - - return ( - <> - - - - - Select connection for your Application - - {/* */} - - - - { - showConnectionHandler(0); - }} - > - - Choose from existing connections - - - { - showConnectionHandler(1); - }} - > - - create a new connection - - - - {showConnection} - {showDBConnection} - - - - - - - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default ApplicationNext; diff --git a/doga-frontend/src/containers/Application/Content.js b/doga-frontend/src/containers/Application/Content.js deleted file mode 100644 index 305c6eb..0000000 --- a/doga-frontend/src/containers/Application/Content.js +++ /dev/null @@ -1,848 +0,0 @@ -import React, { useState, useEffect } from "react"; -import { Box, Button, Span, H5, Para } from "../../styles"; -import { useGlobal } from "reactn"; -import { - Accordion, - AccordionItem, - AccordionButton, - AccordionPanel, - Avatar, - Tooltip, - Icon, -} from "@chakra-ui/react"; -import { Redirect } from "react-router-dom"; -import { FaEdit } from "react-icons/fa"; -import { AiOutlineDelete } from "react-icons/ai"; -import { AiOutlineCaretDown, AiOutlineCaretUp } from "react-icons/ai"; -import { useParams } from "react-router"; -import Api, { ApiJwt, APIURLS, setDefaultBaseUrl } from "../../Api"; -import { - Table, - Thead, - Tbody, - Tr, - Th, - Td, - TableCaption, -} from "@chakra-ui/react"; -import { useQuery, useQueryClient } from "react-query"; -import { useDisclosure } from "@chakra-ui/react"; -import ContentField from "../../components/Modal/ContentField"; -import AppTableCreation from "../../components/Modal/AppTableCreation"; -import AppTableData from "../../components/Modal/AppTableData"; -import BaseJwtLogin from "../../components/Modal/BaseJwtLogin"; -import { createStandaloneToast } from "@chakra-ui/react"; -import { useIsFetching } from "react-query"; -import ClipLoader from "react-spinners/ClipLoader"; -import RichTextView from "../../components/Modal/RichTextView"; -import ImageView from "../../components/Modal/ImageView"; - -const Content = () => { - const { isOpen, onOpen, onClose } = useDisclosure(); - const [baseURL, setBaseURL] = useGlobal("baseURL"); - - const [toggle, setToggle] = useState(true); - const [loading, setLoading] = useState(false); - const [editDataId, setEditDataId] = useState(); - const [deleteTableToggle, setDeleteTableToggle] = useState(false); - const [openModal, setOpenModal] = useState(); - const [richText, setRichText] = useState(); - const [imageView, setImageView] = useState(); - const [relationDropView, setRelationDropView] = useState([]); - let { app, table } = useParams(); - const queryClient = useQueryClient(); - const toast = createStandaloneToast(); - - useEffect(() => { - !baseURL[app] && - setBaseURL({ - ...baseURL, - [app]: { - options: ["http://0.0.0.0:8080/"], - selected: "http://0.0.0.0:8080/", - }, - }); - }, [app]); - - setDefaultBaseUrl(baseURL[app]?.selected || "http://0.0.0.0:8080/"); - useEffect(() => { - baseURL[app] - ? setDefaultBaseUrl(baseURL[app]?.selected) - : setDefaultBaseUrl("http://0.0.0.0:8080/"); - }, [app, baseURL]); - const { data, isLoading } = useQuery(APIURLS.getContentType); - const isFetchingApps = useIsFetching([APIURLS.getContentType]); - let contentTypeApps = null; - let richTextFields = []; - let imageColumnFields = []; - let tableFieldShow = null; - let sendGetTableContent = null; - if (data != null && data[app]["jwt_info"]) { - sendGetTableContent = [APIURLS.getTableContent({ app, table }), "jwt_info"]; - } else { - sendGetTableContent = [APIURLS.getTableContent({ app, table }), "baseURL"]; - } - useEffect(() => { - setRelationDropView([]); - }, [table, app]); - - const fieldData = useQuery(sendGetTableContent); - let fieldDataBodyArray = []; - - async function exportAppHandler() { - try { - let { data } = await Api.post(APIURLS.exportApp(), { - app_name: app, - }); - - toast({ - title: "Data Added.", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - } - } - - if (data != null && data[app][table]) { - contentTypeApps = Object.entries(data[app][table]).map(([prop, val]) => { - if (val.type === "VARCHAR(123)") { - richTextFields.push(val.name); - } - if (val.type === "ImageType") { - imageColumnFields.push(val.name); - } - - return ( - - - {val.name} - - - {val.type} - - - {val.foreign_key} - - - {/* - {val.unique} - - - {val.nullable} - - - {val.default} - - */} - - - ); - }); - tableFieldShow = Object.entries(data[app][table]).map(([prop, val]) => { - fieldDataBodyArray.push(val.name); - return ( - - {val.name} - - ); - }); - } - - const editHandler = (id) => { - setEditDataId(id); - setOpenModal(1); - - onOpen(); - }; - - async function deleteHandler(editDataId) { - let deleteRow = null; - setLoading(true); - try { - if (data != null && data[app]["jwt_info"]) { - let { data } = await ApiJwt.delete( - APIURLS.getTableContentById({ app, table, editDataId }) - ); - } else { - let { data } = await Api.delete( - APIURLS.getTableContentById({ app, table, editDataId }) - ); - } - - await queryClient.refetchQueries([ - APIURLS.getTableContent({ app, table }), - ]); - // setSuccess(true); - - toast({ - title: "Deleted.", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - onClose(); - setLoading(false); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - - setLoading(false); - } - } - async function deleteTableHandler() { - setLoading(true); - try { - let { data } = await Api.delete(APIURLS.deleteTable({ app, table })); - await setTimeout(() => { - queryClient.refetchQueries(APIURLS.getContentType); - - toast({ - title: "Deleted.", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - - setDeleteTableToggle(true); - setLoading(false); - }, 15000); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - - setLoading(false); - } - } - - let fieldDataBody = null; - if (fieldData?.data?.result) { - fieldDataBody = Object.entries(fieldData?.data?.result).map( - ([index, val]) => { - return ( - <> - - - {val["id"]} - - {Object.entries(fieldDataBodyArray).map(([prop, value]) => { - return richTextFields.includes(value) ? ( - - - - ) : imageColumnFields.includes(value) ? ( - - - {" "} - imageViewHandler(val[value])} - src={`data:image/png;base64, ${val[value]}`} - cursor="pointer" - /> - - - ) : ( - - {val[value] === true - ? "true" - : val[value] === false - ? "false" - : val[value]} - - ); - })} - - - {val["create_dt"]} - - - { - // {setEditDbConnection(key) &&onOpen }}> - - {relationDropView.includes(parseInt(index)) - ? val["related_content"] && ( - - - accIndexHandler(index)} - > - - - ) - : val["related_content"] && ( - - - - setRelationDropView([ - ...relationDropView, - parseInt(index), - ]) - } - /> - - - )} - - - - {" "} - editHandler(val["id"])} - > - - - - - deleteHandler(val["id"])} - /> - - - - } - - - {/* yeahhhh */} - - {/* <> */} - - - - {" "} - - - - <> - {val["related_content"] && - Object.entries(val["related_content"]).map( - ([i, v]) => { - return ( - <> - -
    - {"Relationship with "} - {v["realted_table"]} ( - {v["relation_name"][0].toLowerCase()} - {"-"} - {v["relation_name"][1].toLowerCase()} - {"-"} - {v["relation_name"][2].toLowerCase()}) -
    -
    - - {val["related_content"] && - Object.entries(v["related_values"]).map( - ([i, values]) => { - return ( - <> - - {Object.entries(values).map( - ([key, value]) => { - return ( - - {key} : {value} - - ); - } - )} - - - ); - } - )} - - - ); - } - )} - -
    -
    -
    - - - - ); - } - ); - } - let captionButtonData = null; - if (data) { - captionButtonData = ( - - {data[app]["jwt_info"]?.base_table === table ? ( - - ) : null} - - - ); - } - let captionButtonField = null; - if (data) { - captionButtonField = ( - - ); - } - let CreateTable, - exportTable = null; - - let editTable = null; - - let modal = null; - const openModalHandler = (key) => { - setOpenModal(key); - - onOpen(); - }; - const richTextViewHandler = (value) => { - setOpenModal(6); - onOpen(); - setRichText(value); - }; - const imageViewHandler = (value) => { - setOpenModal(7); - onOpen(); - setImageView(value); - }; - - const accIndexHandler = (index) => { - let array = []; - array = relationDropView.filter((num) => num != index); - setRelationDropView(array); - }; - return loading || isLoading ? ( - - - - - - ) : ( - <> - {deleteTableToggle ? : null} - {openModal === 3 ? ( - - ) : openModal === 2 ? ( - - ) : openModal === 1 ? ( - - ) : openModal === 4 ? ( - - ) : openModal === 5 ? ( - - ) : openModal === 6 ? ( - - ) : openModal === 7 && imageView ? ( - - ) : null} - {/* - {data ?

    {table}

    : null} - - {CreateTable} - {exportTable} - -
    */} - - {table} - - - - {" "} - - {!toggle ? ( - - - {captionButtonField} - - - - - - - - - {contentTypeApps} -
    - Fields - - Type - - Foreign Key - - { - // {setEditDbConnection(key) &&onOpen }}> - - - - openModalHandler(4)} - > - - - - - deleteTableHandler()} - /> - - - - } -
    -
    - ) : ( - - - {" "} - - {captionButtonData} - - - - - {tableFieldShow} - - - - - - {fieldDataBody} -
    - Id - - Created_at -
    -
    -
    - )} - - ); -}; - -export default Content; diff --git a/doga-frontend/src/containers/Application/CreateAppName.js b/doga-frontend/src/containers/Application/CreateAppName.js deleted file mode 100644 index 2a4224b..0000000 --- a/doga-frontend/src/containers/Application/CreateAppName.js +++ /dev/null @@ -1,57 +0,0 @@ -import React from "react"; -import { Box, Button, Span, Input, Label } from "../../styles"; -import { useForm } from "react-hook-form"; - -const CreateAppName = ({ setStep, setAppName }) => { - const { handleSubmit, register, errors } = useForm(); - - async function handleSignup(params) { - setAppName(params.appName); - setStep(2); - } - - return ( - <> - - - - Create New App - - - - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - - - ); -}; - -export default CreateAppName; diff --git a/doga-frontend/src/containers/Application/CreateTable.js b/doga-frontend/src/containers/Application/CreateTable.js deleted file mode 100644 index d7f3d1c..0000000 --- a/doga-frontend/src/containers/Application/CreateTable.js +++ /dev/null @@ -1,1376 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { Tooltip } from "@chakra-ui/react"; -import { Box, Button, Span, Input, Para, Label } from "../../styles"; -import { - Table, - Thead, - Tbody, - Tr, - Th, - Td, - TableCaption, -} from "@chakra-ui/react"; -import { Switch } from "@chakra-ui/react"; -import { Icon } from "@chakra-ui/react"; -import { FaEdit } from "react-icons/fa"; -import { AiOutlineDelete } from "react-icons/ai"; -import { BsPlusCircleFill } from "react-icons/bs"; -import DateTimePicker from "react-datetime-picker"; -import { useIsFetching } from "react-query"; -import { useQuery, useQueryClient } from "react-query"; -import { createStandaloneToast } from "@chakra-ui/react"; -import Api, { setHeader, APIURLS } from "../../Api"; -import Select from "react-select"; -import ClipLoader from "react-spinners/ClipLoader"; -import { TiRssOutline } from "react-icons/ti"; - -const CreateTable = ({ - step, - connectionSelected, - appName, - onCloseHandler, - columnsData, - basejwtPresent, - setStep, - setNewStep, - table, - tableName, -}) => { - const { handleSubmit, register, errors, reset } = useForm(); - const [loading, setLoading] = useState(false); - const [success, setSuccess] = useState(false); - const [value, setValue] = useState(new Date()); - const [editValue, setEditValue] = useState(new Date()); - const [selectedFieldType, setSelectedFieldType] = useState(); - const [selectedNullableType, setSelectedNullableType] = useState(); - const [selectedBooleanType, setSelectedBooleanType] = useState(); - const [selectedBinaryType, setSelectedBinaryType] = useState(); - const [selectedUniqueType, setSelectedUniqueType] = useState(); - const [selectedFieldTypeEdit, setSelectedFieldTypeEdit] = useState(); - const [selectedNullableTypeEdit, setSelectedNullableTypeEdit] = useState(); - const [selectedBooleanTypeEdit, setSelectedBooleanTypeEdit] = useState(); - const [selectedBinaryTypeEdit, setSelectedBinaryTypeEdit] = useState(); - const [selectedUniqueTypeEdit, setSelectedUniqueTypeEdit] = useState(); - const [selectedEnumTypeEdit, setSelectedEnumTypeEdit] = useState(); - const [selectedEnumType, setSelectedEnumType] = useState(); - const [columns, setColumns] = useState(columnsData || []); - const [arrayDefault, setArrayDefault] = useState(); - const [arrayDefaultList, setArrayDefaultList] = useState([]); - const [edit, setEdit] = useState(); - const [foreignKeyOptions, setForeignKeyOptions] = useState(); - const [foreignKeyTable, setForeignKeyTable] = useState(); - const [foreignKeyColumn, setForeignKeyColumn] = useState(); - const [foreignKeyCheck, setForeignKeyCheck] = useState(false); - const [defaultValueCheck, setDefaultValueCheck] = useState(false); - const [relationCheck, setRelationCheck] = useState(false); - const [relationshipType, setRelationshipType] = useState(); - const [relationOptions, setRelationOptions] = useState(); - const [relatedTable, setRelatedTable] = useState(); - const [relatedField, setRelatedField] = useState(); - const [baseJWT, setbaseJWT] = useState(false); - const [restByJWT, setRestByJWT] = useState(false); - const [filterOpt, setFilterOpt] = useState([]); - const toast = createStandaloneToast(); - const queryClient = useQueryClient(); - const columnTypes = useQuery(APIURLS.getColumnTypes); - const isFetching = useIsFetching(); - - async function foreignkeyfn() { - try { - let { data } = await Api.post(APIURLS.getForeignkey, { - app_name: appName, - type: selectedFieldType, - }); - setForeignKeyOptions(data); - } catch ({ response }) {} - } - - async function relationshipfn(value) { - try { - let { data } = await Api.post(APIURLS.getForeignkey, { - app_name: appName, - type: value || selectedFieldType, - }); - setRelationOptions(data); - } catch ({ response }) {} - } - - let relationTable = []; - if (relationOptions) { - { - Object.entries(relationOptions).map(([prop, val]) => { - return relationTable.push({ value: prop, label: prop }); - }); - } - } - let relationColumns = []; - if (relatedTable) { - for (let key in relationOptions[relatedTable]) { - relationColumns.push({ - value: relationOptions[relatedTable][key], - label: relationOptions[relatedTable][key], - }); - } - } - - const deleteHandler = (index) => { - let columnArray = [...columns]; - columnArray.splice(index, 1); - setColumns(columnArray); - setEdit(); - }; - const editHandler = (index) => { - setEdit(index); - setSelectedFieldTypeEdit(columns[index].type); - setSelectedNullableTypeEdit(columns[index].nullable); - setSelectedBooleanTypeEdit(columns[index].default); - setSelectedUniqueTypeEdit(columns[index].unique); - setSelectedEnumTypeEdit(columns[index].default); - setArrayDefaultList(columns[index].enum); - setValue(new Date()); - if (columns[index].default) { - setDefaultValueCheck(true); - } - }; - - function convert(str) { - var mnths = { - Jan: "01", - Feb: "02", - Mar: "03", - Apr: "04", - May: "05", - Jun: "06", - Jul: "07", - Aug: "08", - Sep: "09", - Oct: "10", - Nov: "11", - Dec: "12", - }, - date = str.split(" "); - if ((selectedFieldType || selectedFieldTypeEdit) === "DateTime") { - return [[date[3], mnths[date[1]], date[2]].join("-"), date[4]].join(" "); - } else if ((selectedFieldType || selectedFieldTypeEdit) === "Date") { - return [date[3], mnths[date[1]], date[2]].join("-"); - } else { - return `${date[4]}`; - } - } - - async function handleSignup(params) { - let def; - if ( - (selectedFieldType || selectedFieldTypeEdit) === "INTEGER" || - (selectedFieldType || selectedFieldTypeEdit) === "INT" || - (selectedFieldType || selectedFieldTypeEdit) === "Integer" || - (selectedFieldType || selectedFieldTypeEdit) === "BigInteger" || - (selectedFieldType || selectedFieldTypeEdit) === "Numeric" - ) { - def = parseInt(params.default); - } else if ( - (selectedFieldType || selectedFieldTypeEdit) === "Float" || - (selectedFieldType || selectedFieldTypeEdit) === "DECIMAL" - ) { - def = parseFloat(params.default); - } else if ((selectedFieldType || selectedFieldTypeEdit) === "Enum") { - def = edit ? selectedEnumTypeEdit : selectedEnumType; - } else if ((selectedFieldType || selectedFieldTypeEdit) === "Time") { - def = convert(`${value}`); - } else if ((selectedFieldType || selectedFieldTypeEdit) === "DateTime") { - def = convert(`${value}`); - } else if ((selectedFieldType || selectedFieldTypeEdit) === "Date") { - def = convert(`${value}`); - } else if (selectedFieldType === "Boolean") { - def = selectedBooleanType; - } else if (selectedFieldTypeEdit === "Boolean") { - def = selectedBooleanTypeEdit; - } else if (selectedFieldType === "Binary") { - def = selectedBinaryType; - } else if (selectedFieldTypeEdit === "Binary") { - def = selectedBinaryTypeEdit; - } else { - def = params.default; - } - - let column = - (selectedFieldType || selectedFieldTypeEdit) === "Enum" - ? { - name: params.name, - type: edit ? selectedFieldTypeEdit : selectedFieldType, - nullable: edit ? selectedNullableTypeEdit : selectedNullableType, - unique: edit ? selectedUniqueTypeEdit : selectedUniqueType, - ...(defaultValueCheck && { default: def }), - enum: arrayDefaultList, - } - : step - ? { - name: params.name, - type: edit ? selectedFieldTypeEdit : selectedFieldType, - nullable: edit ? selectedNullableTypeEdit : selectedNullableType, - unique: edit ? selectedUniqueTypeEdit : selectedUniqueType, - ...(defaultValueCheck && { default: def }), - } - : foreignkeyColumns.length != 0 && - foreignKeyCheck && - relationCheck && - relationColumns - ? { - name: params.name, - type: edit ? selectedFieldTypeEdit : selectedFieldType, - nullable: edit ? selectedNullableTypeEdit : selectedNullableType, - unique: edit ? selectedUniqueTypeEdit : selectedUniqueType, - ...(defaultValueCheck && { default: def }), - foreign_key: `${foreignKeyTable}.${foreignKeyColumn}`, - relationship: { - relationship_type: relationshipType, - related_field: relatedField, - related_table: relatedTable, - }, - } - : foreignkeyColumns.length != 0 && foreignKeyCheck - ? { - name: params.name, - type: edit ? selectedFieldTypeEdit : selectedFieldType, - nullable: edit ? selectedNullableTypeEdit : selectedNullableType, - unique: edit ? selectedUniqueTypeEdit : selectedUniqueType, - ...(defaultValueCheck && { default: def }), - foreign_key: `${foreignKeyTable}.${foreignKeyColumn}`, - } - : relationCheck && relationColumns.length != 0 - ? { - name: params.name, - type: edit ? selectedFieldTypeEdit : selectedFieldType, - nullable: edit ? selectedNullableTypeEdit : selectedNullableType, - unique: edit ? selectedUniqueTypeEdit : selectedUniqueType, - ...(defaultValueCheck && { default: def }), - relationship: { - relationship_type: relationshipType, - related_field: relatedField, - related_table: relatedTable, - }, - } - : { - name: params.name, - type: edit ? selectedFieldTypeEdit : selectedFieldType, - nullable: edit ? selectedNullableTypeEdit : selectedNullableType, - unique: edit ? selectedUniqueTypeEdit : selectedUniqueType, - ...(defaultValueCheck && { default: def }), - }; - let columnArray = [...columns]; - // setTableName(tableName); - if (edit) { - columnArray[edit] = column; - setEdit(); - } else { - columnArray.push(column); - } - - setColumns(columnArray); - setSelectedFieldType(); - setSelectedNullableType(); - setSelectedBooleanType(); - setSelectedBinaryType(); - setSelectedUniqueType(); - setArrayDefault(""); - setArrayDefaultList([]); - setRelationCheck(false); - setForeignKeyCheck(false); - setDefaultValueCheck(false); - setRelationshipType(); - setRelatedField(); - setRelatedTable(); - - // setValue(new Date()); - reset(); - } - - async function createTableRequest() { - setLoading(true); - try { - let { data } = - baseJWT && filterOpt.length !== 0 && columnsData && tableName - ? await Api.put(APIURLS.getContentType, { - table_name: tableName, - app_name: appName, - // restrict_by_jwt: false,, - columns: columns, - base_jwt: true, - filter_keys: filterOpt, - // filter_keys: ["1"], - }) - : restByJWT && columnsData && tableName - ? await Api.put(APIURLS.getContentType, { - table_name: tableName, - app_name: appName, - restrict_by_jwt: true, - columns: columns, - }) - : columnsData && tableName - ? await Api.put(APIURLS.getContentType, { - table_name: tableName, - app_name: appName, - restrict_by_jwt: false, - columns: columns, - }) - : baseJWT && filterOpt.length !== 0 - ? await Api.post(APIURLS.getContentType, { - table_name: tableName, - app_name: appName, - // restrict_by_jwt: false,, - columns: columns, - base_jwt: true, - filter_keys: filterOpt, - // filter_keys: ["1"], - }) - : restByJWT - ? await Api.post(APIURLS.getContentType, { - table_name: tableName, - app_name: appName, - restrict_by_jwt: true, - columns: columns, - }) - : await Api.post(APIURLS.getContentType, { - table_name: tableName, - app_name: appName, - restrict_by_jwt: false, - columns: columns, - }); - await setTimeout(() => { - queryClient.refetchQueries(APIURLS.getContentType); - - toast({ - title: "App created successfully.", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - - if (step) { - setStep(5); - } - if (!step) { - setNewStep(3); - } - }, 20000); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - - setLoading(false); - } - } - - let filterOptions = []; - if (columns.length !== 0) { - { - Object.entries(columns).map(([prop, val]) => { - return val.nullable === "false" && val.unique === "true" - ? filterOptions.push({ value: val.name, label: val.name }) - : null; - }); - } - } - let nullableTypesOptions = [ - { - value: "true", - label: "true", - }, - { - value: "false", - label: "false", - }, - ]; - let booleanTypesOptions = [ - { - value: "true", - label: "true", - }, - { - value: "false", - label: "false", - }, - { - value: 1, - label: 1, - }, - { - value: 0, - label: 0, - }, - ]; - let binaryTypesOptions = [ - { - value: 1, - label: 1, - }, - { - value: 0, - label: 0, - }, - ]; - let uniqueTypesOptions = [ - { - value: "true", - label: "true", - }, - { - value: "false", - label: "false", - }, - ]; - let columnTypesOptions = []; - if (columnTypes?.data?.result) { - { - Object.entries(columnTypes?.data?.result).map(([prop, val]) => { - if (val === "String") { - return columnTypesOptions.push({ - value: "String(123)", - label: "String(123)", - }); - } - return columnTypesOptions.push({ value: val, label: val }); - }); - } - } - let foreignkeyTable = []; - if (foreignKeyOptions) { - { - Object.entries(foreignKeyOptions).map(([prop, val]) => { - return foreignkeyTable.push({ value: prop, label: prop }); - }); - } - } - let foreignkeyColumns = []; - if (foreignKeyTable) { - for (let key in foreignKeyOptions[foreignKeyTable]) { - foreignkeyColumns.push({ - value: foreignKeyOptions[foreignKeyTable][key], - label: foreignKeyOptions[foreignKeyTable][key], - }); - } - } - - let contentTypeApps = Object.entries(columns).map(([prop, val]) => { - return ( - - {val.name} - - {val.type} - - - {val.unique} - - - {val.nullable} - - - {val.default} - - {/* - {val.foreign_key} - */} - - { - // {setEditDbConnection(key) &&onOpen }}> - - - - editHandler(prop)} - />{" "} - - - - - deleteHandler(prop)} - />{" "} - - - - } - - - ); - }); - - const handleMultiChange = (option) => { - let array = []; - for (let key in option) { - array.push(option[key].value); - } - - setFilterOpt(array); - }; - - const addArrayDefaultHandler = () => { - let newEnumList = arrayDefaultList; - let newObj = { - value: arrayDefault, - label: arrayDefault, - }; - newEnumList.push(newObj); - - setArrayDefaultList(newEnumList); - setArrayDefault(""); - }; - - const removeArrayDefaultHandler = (index) => { - let newArrayDefaultList = []; - for (let key in arrayDefaultList) { - if (key != index) { - newArrayDefaultList.push(arrayDefaultList[key]); - } - } - - setArrayDefaultList(newArrayDefaultList); - }; - const relationTypeHandler = (value) => { - setRelationshipType(value); - - if (relationCheck && (value === "one-one" || value === "one-many")) { - setSelectedUniqueType("true"); - } else if ( - relationCheck && - (value === "many-one" || value === "many-many") - ) { - setSelectedUniqueType("false"); - } - }; - const fieldTypeHandler = (value) => { - edit ? setSelectedFieldTypeEdit(value) : setSelectedFieldType(value); - relationshipfn(value); - }; - - return loading || isFetching > 0 ? ( - - - - - - ) : ( - <> - {step ? ( - - Create Table for your App - - ) : null} - - - -
    - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - edit - ? option.label === selectedUniqueTypeEdit - : option.label === selectedUniqueType - ) - } - onChange={({ value }) => - relationCheck - ? setSelectedUniqueType(selectedUniqueType) - : edit - ? setSelectedUniqueTypeEdit(value) - : setSelectedUniqueType(value) - } - required - theme={CARD_ELEMENT_OPTIONS} - placeholder="Select Type" - options={uniqueTypesOptions} - /> - {relationCheck ? ( - - If you are adding Relationship, the unique constain will be - True if relation is 'One to One' or 'One to Many' and False - if relation is 'Many to One' or 'Many to Many'. - - ) : null} - {" "} - - - - setDefaultValueCheck(e.target.checked)} - /> - - - Do you want to add Default Value{" "} - - - {(selectedFieldType || columns[edit]?.type) === "Enum" ? ( - <> - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - ) : (selectedFieldType || columns[edit]?.type) === "Numeric" ? ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - ) : (selectedFieldType || columns[edit]?.type) === "Float" ? ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - ) : (selectedFieldType || columns[edit]?.type) === "DECIMAL" ? ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - ) : (selectedFieldType || columns[edit]?.type) === "Boolean" ? ( - - - edit - ? option.label === selectedBinaryTypeEdit - : option.label === selectedBinaryType - )} - onChange={({ value }) => - edit - ? setSelectedBinaryTypeEdit(value) - : setSelectedBinaryType(value) - } - theme={CARD_ELEMENT_OPTIONS} - placeholder="Select Type" - options={binaryTypesOptions} - /> - - ) : ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - )} - {(selectedFieldType || columns[edit]?.type) === "Enum" ? ( - <> - {" "} - - - - setArrayDefault(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - {" "} - {" "} - - - {edit - ? columns[edit]?.enum.map((key, index) => { - return ( - - - {key["value"]} - - - removeArrayDefaultHandler(index)} - /> - - - ); - }) - : arrayDefaultList.map((key, index) => { - return ( - - - {key["value"]} - - - removeArrayDefaultHandler(index)} - /> - - - ); - })} - - ) : null} -
    - {!step ? ( - - - - setForeignKeyCheck(e.target.checked)} - /> - - - Do you want to add foreign key{" "} - - ) : null} - {!step ? : null} - {!step ? ( - - setForeignKeyColumn(value)} - required - theme={CARD_ELEMENT_OPTIONS} - placeholder="Select Field" - options={foreignkeyColumns} - /> - - ) : null} - {!step ? ( - - - - relationshipfn()} - isChecked={relationCheck} - onChange={(e) => setRelationCheck(e.target.checked)} - /> - - - Do you want to add Relations - - ) : null} - {!step ? : null} - {!step ? ( - - setRelatedTable(value)} - required - theme={CARD_ELEMENT_OPTIONS} - placeholder="related_table" - options={relationTable} - /> - - ) : null} - {!step ? ( - - - {" "} - - ) : null} - - - - - - name - - - type - - - unique - - - nullable - - - default - - - - - - {contentTypeApps} - - - - - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default CreateTable; diff --git a/doga-frontend/src/containers/Application/CreateTableName.js b/doga-frontend/src/containers/Application/CreateTableName.js deleted file mode 100644 index c01edb7..0000000 --- a/doga-frontend/src/containers/Application/CreateTableName.js +++ /dev/null @@ -1,67 +0,0 @@ -import React from "react"; -import { Box, Button, Span, Input, Label } from "../../styles"; -import { useForm } from "react-hook-form"; - -const CreateTableName = ({ setStep, setTableName, setNewStep, step }) => { - const { handleSubmit, register, errors } = useForm(); - - async function handleSignup(params) { - setTableName(params.tableName); - if (step) { - setStep(4); - } else { - setNewStep(2); - } - } - - return ( - <> - - - - Create New Table - - - - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - -
    - - ); -}; - -export default CreateTableName; diff --git a/doga-frontend/src/containers/CreateDatabase/CreateDatabase.js b/doga-frontend/src/containers/CreateDatabase/CreateDatabase.js deleted file mode 100644 index abefff5..0000000 --- a/doga-frontend/src/containers/CreateDatabase/CreateDatabase.js +++ /dev/null @@ -1,233 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Box, Button, Span, Input, Label } from "../../styles"; -import Select from "react-select"; -import { useQueryClient, useQuery } from "react-query"; -import { createStandaloneToast } from "@chakra-ui/react"; -import Api, { APIURLS } from "../../Api"; -import ClipLoader from "react-spinners/ClipLoader"; - -const CreateDatabase = ({ edit, setStep, appName }) => { - const { handleSubmit, register, errors } = useForm(); - const [loading, setLoading] = useState(false); - const [apiErr, setApiErr] = useState(null); - const queryClient = useQueryClient(); - const toast = createStandaloneToast(); - const [dbType, setDbType] = useState(); - - const { data } = useQuery(APIURLS.getDbDefaults); - - async function handleSignup(params) { - setLoading(true); - try { - let { data } = edit - ? await Api.put(APIURLS.createDB, { - ...params, - database_type: dbType, - }) - : await Api.post(APIURLS.createDB, { - ...params, - database_type: dbType, - }); - await queryClient.refetchQueries([APIURLS.getDbConnections]); - - toast({ - title: "Database created successfully.", - status: "success", - duration: 9000, - isClosable: false, - }); - setLoading(false); - setStep(3); - } catch ({ response }) { - toast({ - title: "An error occurred.", - - status: "error", - duration: 9000, - isClosable: true, - }); - - setLoading(false); - } - } - - return loading ? ( - - - - ) : ( - <> - - Congif Databse for your App - - -
    - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - - {errors?.password && ( - - {errors?.password?.message} - - )} - - - - - - {errors?.password && ( - - {errors?.password?.message} - - )} - - - - - - {errors?.password && ( - - {errors?.password?.message} - - )} - - - - - - {errors?.password && ( - - {errors?.password?.message} - - )} - - - {apiErr && ( - - {apiErr} - - )} - - -
    -
    - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default CreateDatabase; diff --git a/doga-frontend/src/containers/Dashboard/Dashboard.js b/doga-frontend/src/containers/Dashboard/Dashboard.js deleted file mode 100644 index 4313c16..0000000 --- a/doga-frontend/src/containers/Dashboard/Dashboard.js +++ /dev/null @@ -1,72 +0,0 @@ -import React, { useState } from "react"; -import { NavLink } from "react-router-dom"; -import { APIURLS } from "../../Api"; -import { useQuery } from "react-query"; -import { Box, Button, H2, Para } from "../../styles"; -import { useIsFetching } from "react-query"; -import ClipLoader from "react-spinners/ClipLoader"; - -const Dashboard = () => { - const appsCreated = useQuery(APIURLS.appInfo("app")); - - const dbConnections = useQuery(APIURLS.getDbConnections); - - const isFetchingApps = useIsFetching([APIURLS.getContentType]); - return appsCreated?.isLoading || - dbConnections?.isLoading || - isFetchingApps > 0 ? ( - <> - {" "} - - - {" "} - - ) : ( - <> - - -

    - {" "} - Hi {localStorage.getItem("userName")}! -

    - -

    Welcome to DOGA

    -

    DOGA is a headless content management system written in and to - create Flask Application.

    It helps you model your data to fit - your requirements, with features like tabular content - definition , simple definition of relationships, easy addition - of data, simple deployments and monitoring and managing data - on your remote apps too.

    To get started click on - Create a New App and begin creating your backed with no code !

    -
    - - - {" "} - - - - - - - - - - - - - - - - -
    -
    - - ); -}; - -export default Dashboard; diff --git a/doga-frontend/src/containers/Database/Database.js b/doga-frontend/src/containers/Database/Database.js deleted file mode 100644 index 8dbde2c..0000000 --- a/doga-frontend/src/containers/Database/Database.js +++ /dev/null @@ -1,126 +0,0 @@ -import React, { useState } from "react"; -import { Table, Thead, Tbody, Tr, Th, Td } from "@chakra-ui/react"; -import { Box, H2, Para } from "../../styles"; -import { Menu, MenuButton, MenuList, MenuItem } from "@chakra-ui/react"; -import ClipLoader from "react-spinners/ClipLoader"; -import { useQuery } from "react-query"; -import { APIURLS } from "../../Api"; - -const Database = () => { - const [typeSelected, setTypeSelected] = useState(); - const { data, isLoading } = useQuery(APIURLS.getDbConnections); - const db = data; - - return isLoading ? ( - - - - ) : ( - <> - -

    Database

    -
    - - - - - {typeSelected || "DB Type"} - - - setTypeSelected("mysql")}> - MySQL - - setTypeSelected("sqlite")}> - SQLite - - setTypeSelected("postgresql")}> - PostgreSQL - - setTypeSelected()}> - All - - - - - - - {" "} - - - - - - - - - - - - - - - {db?.map((key, index) => { - if (typeSelected && key.database_type != typeSelected) { - return true; - } - return ( - - - - - - - - - - - ); - })} - -
    - connection - - database type - - database - hostport - username - - password -
    - {key.connection_name} - - {key.database_type} - - {key.database_name} - - {key.host} - - {key.host} - - {key.port} - - {key.username} - - {key.password} -
    -
    - - ); -}; - -export default Database; diff --git a/doga-frontend/src/containers/Deploy/Aws.js b/doga-frontend/src/containers/Deploy/Aws.js deleted file mode 100644 index a28196a..0000000 --- a/doga-frontend/src/containers/Deploy/Aws.js +++ /dev/null @@ -1,324 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Box, Button, Span, H5, Input, Label, Para } from "../../styles"; -import { BsPlusCircleFill } from "react-icons/bs"; -import { FaAws } from "react-icons/fa"; -import { AiOutlineDelete } from "react-icons/ai"; -import { Icon } from "@chakra-ui/react"; -import { useQueryClient } from "react-query"; -import { createStandaloneToast } from "@chakra-ui/react"; -import Api, { APIURLS } from "../../Api"; -import ClipLoader from "react-spinners/ClipLoader"; - -const Aws = ({ - userCredential, - setStep, - userConfig, - setUserCredential, - rdsConfig, - ec2Config, -}) => { - const { handleSubmit, register, errors, reset } = useForm(); - const [loading, setLoading] = useState(false); - - const [deviceList, setDeviceList] = useState([]); - const [instanceType, setInstanceType] = useState(); - const [imageId, setImageId] = useState(); - const [deviceName, setDeviceName] = useState( - ec2Config.ec2_config.BlockDeviceMappings[0].DeviceName - ); - const [engineType, setEngineType] = useState(); - const [volumeType, setVolumeType] = useState( - ec2Config.ec2_config.BlockDeviceMappings[0].Ebs.VolumeType - ); - const [volumeSize, setVolumeSize] = useState( - ec2Config.ec2_config.BlockDeviceMappings[0].Ebs.VolumeSize - ); - const [deleteOnTermination, setDeleteOnTermination] = useState( - ec2Config.ec2_config.BlockDeviceMappings[0].Ebs.DeleteOnTermination - ); - const addDeviceHandler = () => { - setDeviceList([ - ...deviceList, - { - DeviceName: deviceName, - Ebs: { - DeleteOnTermination: deleteOnTermination, - VolumeSize: volumeSize, - VolumeType: volumeType, - }, - }, - ]); - setDeviceName(""); - setDeleteOnTermination(""); - setVolumeSize(""); - setVolumeType(""); - }; - const removeDeviceHandler = (index) => { - let newDeviceList = []; - for (let key in deviceList) { - if (key != index) { - newDeviceList.push(deviceList[key]); - } - } - - setDeviceList(newDeviceList); - }; - async function handleSignup(params) { - setLoading(true); - try { - let obj = { - app_name: userCredential.app_name, - user_credentials: { - aws_username: userCredential.user_credentials.aws_username, - aws_secret_key: userCredential.user_credentials.aws_secret_key, - aws_access_key: userCredential.user_credentials.aws_access_key, - }, - config: { - region_name: userCredential.config.region_name, - signature_version: userCredential.config.signature_version, - }, - rds_config: { - Engine: userCredential.rds_config.Engine, - AllocatedStorage: userCredential.rds_config.AllocatedStorage, - DBInstanceIdentifier: userCredential.rds_config.DBInstanceIdentifier, - DBInstanceClass: userCredential.rds_config.DBInstanceClass, - MasterUsername: userCredential.rds_config.MasterUsername, - MasterUserPassword: userCredential.rds_config.MasterUserPassword, - MaxAllocatedStorage: userCredential.rds_config.MaxAllocatedStorage, - }, - ec2_config: { - BlockDeviceMappings: deviceList, - InstanceType: params.InstanceType, - ImageId: params.ImageId, - }, - }; - setUserCredential(); - let { data } = await Api.post(APIURLS.awsExport(), obj); - setStep(5); - setLoading(false); - } catch ({ response }) { - setLoading(false); - } - } - - return loading ? ( - - - - ) : ( - <> - - Deploy Your App on AWS - - -
    - - -
    - RDS Config -
    - - - - AWS provides users a hassle free way to configure remote data - storage for relational database stores through this service. The - users may chose from an array of options. - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - Name of the DB to be given by the user the default should be app - name - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - depending on the region and the engine chosen, AWS will allow - userschose form an array different machines with different - hardware configurations. Refer to this doc for further details. -
    - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - The admin username for the master user of the RDS instace. - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - The admin password for the master user of the RDS instace. - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - Minimum storage allocated in GB's minimum is 20 similarly max is - 1634 - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - {/* */} - - - -
    - - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default RdsConfig; diff --git a/doga-frontend/src/containers/Deploy/UserConfig.js b/doga-frontend/src/containers/Deploy/UserConfig.js deleted file mode 100644 index bfa1b3b..0000000 --- a/doga-frontend/src/containers/Deploy/UserConfig.js +++ /dev/null @@ -1,173 +0,0 @@ -import React, { useState, useEffect } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Box, Button, Span, H5, Input, Label, Para } from "../../styles"; -import { useQuery } from "react-query"; -import Api, { APIURLS } from "../../Api"; -import Select from "react-select"; -import ClipLoader from "react-spinners/ClipLoader"; - -const Deploy = ({ - userCredential, - setStep, - userConfig, - setUserCredential, - setRdsConfig, -}) => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [selectedRegion, setSelectedRegion] = useState(); - const [loading, setLoading] = useState(false); - const { data } = useQuery([APIURLS.getContentType], { - enabled: !!token, - }); - - let selectAppName = []; - if (data) { - for (let key in data) { - selectAppName.push({ - value: key, - label: key, - }); - } - } - let selectRegion = []; - if (userConfig.config) { - let data = userConfig.config.region_name; - for (let key in data) { - selectRegion.push({ - value: data[key], - label: data[key], - }); - } - } - - async function handleSignup(params) { - setLoading(true); - try { - let obj = { - app_name: userCredential.app_name, - user_credentials: { - aws_username: userCredential.aws_username, - aws_secret_key: userCredential.aws_secret_key, - aws_access_key: userCredential.aws_access_key, - }, - config: { - region_name: selectedRegion, - signature_version: params.signature_version, - }, - }; - - setUserCredential(obj); - let { data } = await Api.post(APIURLS.getUserRdsCongif(), { - aws_username: params.aws_username, - aws_secret_key: params.aws_secret_key, - aws_access_key: params.aws_access_key, - }); - - setRdsConfig(data); - setStep(3); - setLoading(false); - } catch ({ response }) { - setLoading(false); - } - } - - return loading ? ( - - - - ) : ( - <> - - Deploy Your App on AWS - - -
    - - -
    - Config -
    - - - - This indicates the region where the EC2 instance as well as RDS - will be created in, please ensure you choose a region that has - SSM, RDS and EC2 services. - {/* Detialed information of the services can be found -[on amazons webpage](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/]) */} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - -
    -
    -
    -
    - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default Deploy; diff --git a/doga-frontend/src/containers/Deploy/UserCredentials.js b/doga-frontend/src/containers/Deploy/UserCredentials.js deleted file mode 100644 index 033c711..0000000 --- a/doga-frontend/src/containers/Deploy/UserCredentials.js +++ /dev/null @@ -1,174 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Box, Button, Span, H5, Input, Label } from "../../styles"; -import { useQuery, useQueryClient } from "react-query"; -import { createStandaloneToast } from "@chakra-ui/react"; -import Api, { APIURLS } from "../../Api"; -import { useIsFetching } from "react-query"; -import Select from "react-select"; -import ClipLoader from "react-spinners/ClipLoader"; - -const Deploy = ({ setStep, setUserConfig, setUserCredential }) => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [selectedApp, setSelectedApp] = useState(); - const [loading, setLoading] = useState(false); - - const { data } = useQuery([APIURLS.getContentType], { - enabled: !!token, - }); - - let selectAppName = []; - if (data) { - for (let key in data) { - selectAppName.push({ - value: key, - label: key, - }); - } - } - - async function handleSignup(params) { - try { - let obj = { - app_name: selectedApp, - aws_username: params.aws_username, - aws_secret_key: params.aws_secret_key, - aws_access_key: params.aws_access_key, - }; - - setUserCredential(obj); - let { data } = await Api.post(APIURLS.getUserCongif(), { - aws_username: params.aws_username, - aws_secret_key: params.aws_secret_key, - aws_access_key: params.aws_access_key, - }); - setUserConfig(data); - setStep(2); - } catch ({ response }) {} - } - - return loading ? ( - - - - ) : ( - <> - - Deploy Your App on AWS - - -
    - - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - -
    -
    - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default Deploy; diff --git a/doga-frontend/src/containers/Login/Login.js b/doga-frontend/src/containers/Login/Login.js deleted file mode 100644 index 95eee4f..0000000 --- a/doga-frontend/src/containers/Login/Login.js +++ /dev/null @@ -1,207 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { NavLink } from "react-router-dom"; -import { Redirect } from "react-router-dom"; -import { Box, Button, Span, MotionBox, H2, Input, Label } from "../../styles"; -import Api, { setHeader, APIURLS } from "../../Api"; -import { Icon } from "@chakra-ui/react"; -import { MdEmail } from "react-icons/md"; -import { RiLockPasswordFill } from "react-icons/ri"; -import ClipLoader from "react-spinners/ClipLoader"; -import { createStandaloneToast } from "@chakra-ui/react"; - -const Login = () => { - const [token, setToken] = useGlobal("token"); - const [loading, setLoading] = useState(false); - const [apiErr, setApiErr] = useState(null); - const { handleSubmit, register, errors } = useForm(); - const toast = createStandaloneToast(); - let authRedirect = null; - if (token) { - authRedirect = ; - } - - async function handleSignup(params) { - try { - setApiErr(null); - setLoading(true); - let { data } = await Api.post(APIURLS.login, params); - let token = data?.access_token; - let userId = data?.id; - let userEmail = data?.email; - let userName = data?.name; - localStorage.setItem("token", token); - localStorage.setItem("userId", userId); - localStorage.setItem("userEmail", userEmail); - localStorage.setItem("userName", userName); - setHeader(token); - setToken(token); - toast({ - title: "Login Successful", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - setLoading(false); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - setApiErr(response?.result); - setLoading(false); - } - } - - return ( - <> - {authRedirect} - - - - -

    Login

    -
    - - -
    - - - - - - - - - - {errors?.email && ( - - {errors?.email?.message} - - )} - - - - - - - - - - - - {errors?.password && ( - - {errors?.password?.message} - - )} - - - {apiErr && ( - - {apiErr} - - )} - - -
    -
    - - - {"New to Doga? "} - - {" "} - - {" "} - Sign Up - {" "} - - - -
    -
    -
    - - ); -}; - -export default Login; diff --git a/doga-frontend/src/containers/Plugins/Sendgrid.js b/doga-frontend/src/containers/Plugins/Sendgrid.js deleted file mode 100644 index 4685bca..0000000 --- a/doga-frontend/src/containers/Plugins/Sendgrid.js +++ /dev/null @@ -1,479 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Redirect } from "react-router-dom"; -import { Box, Button, Span, Input, Label, Para } from "../../styles"; -import { - Accordion, - AccordionItem, - AccordionButton, - AccordionPanel, - AccordionIcon, - Tooltip, - Switch, - Icon, - createStandaloneToast, -} from "@chakra-ui/react"; -import { BsPlusCircleFill } from "react-icons/bs"; -import { FaUser } from "react-icons/fa"; -import { AiOutlineDelete } from "react-icons/ai"; -import { useQuery } from "react-query"; -import Api, { APIURLS } from "../../Api"; - -const Sendgrid = (props) => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [username, setUsername] = useState(); - const [userKey, setUserKey] = useState(); - const [templateValueCheck, setTemplateValueCheck] = useState(); - const [userEmail, setUserEmail] = useState(); - const [userList, setUserList] = useState({}); - const [userValue, setUserValue] = useState(); - const [userTemplateList, setUserTemplateList] = useState({}); - const [success, setSuccess] = useState(false); - let authRedirect = null; - if (success) { - authRedirect = ; - } - const toast = createStandaloneToast(); - const { data } = useQuery([APIURLS.getContentType], { - enabled: !!token, - }); - - let selectAppName = []; - if (data) { - for (let key in data) { - selectAppName.push({ - value: key, - label: key, - }); - } - } - - async function handleSignup(params) { - try { - let obj = { - _from: params["_from"], - api_key: params.api_key, - to_emails: userList, - template_key: params.template_key, - subject: params.subject, - content: templateValueCheck ? userTemplateList : params.content, - }; - - let { data } = await Api.post(APIURLS.emailNotify(), obj); - - toast({ - title: "Success", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - setSuccess(true); - } catch ({ response }) { - toast({ - title: "An error occurred.", - description: response?.data?.result, - status: "error", - duration: 9000, - isClosable: true, - }); - setSuccess(false); - } - } - const addUserHandler = () => { - setUserList({ ...userList, [username]: userEmail }); - setUsername(""); - setUserEmail(""); - }; - const removeUserHandler = (index) => { - let obj = userList; - delete obj[index]; - setUserList({ ...obj }); - }; - const addUserTemplateHandler = () => { - setUserTemplateList({ ...userTemplateList, [userKey]: userValue }); - setUserKey(""); - setUserValue(""); - }; - const removeUserTemplateHandler = (index) => { - let obj = userTemplateList; - delete obj[index]; - setUserTemplateList({ ...obj }); - }; - - return ( - <> - {authRedirect} - - SENDGRID - - - -
    - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - setTemplateValueCheck(e.target.checked)} - /> - - - Do you want to add Sendgrid's Template key{" "} - - {templateValueCheck && } - {templateValueCheck && ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - {!templateValueCheck ? ( - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - ) : ( - - - - - - {"Add content to your template"} - - - - - - - - - - setUserKey(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - setUserValue(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {Object.keys(userTemplateList).map((key, index) => { - return ( - - - - {/* {user} */} - {userTemplateList[key]} - - - removeUserTemplateHandler(key)} - /> - - - ); - })} - - - - - - )} - - -
    -
    - - - - - - - - {"Add Users you want to send mail to"} - - - - - - - - - setUsername(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - setUserEmail(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {Object.keys(userList).map((key, index) => { - return ( - - - - {/* {user} */} - {userList[key]} - - - removeUserHandler(key)} - /> - - - ); - })} - - - - - -
    - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default Sendgrid; diff --git a/doga-frontend/src/containers/Plugins/Twilio.js b/doga-frontend/src/containers/Plugins/Twilio.js deleted file mode 100644 index be0836c..0000000 --- a/doga-frontend/src/containers/Plugins/Twilio.js +++ /dev/null @@ -1,291 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Redirect } from "react-router-dom"; -import { Box, Button, Span, Input, Label, Para } from "../../styles"; -import { - Accordion, - AccordionItem, - AccordionButton, - AccordionPanel, - AccordionIcon, -} from "@chakra-ui/react"; -import { Icon } from "@chakra-ui/react"; -import { BsPlusCircleFill } from "react-icons/bs"; -import { FaUser } from "react-icons/fa"; -import { AiOutlineDelete } from "react-icons/ai"; -import { useQuery, useQueryClient } from "react-query"; -import { createStandaloneToast } from "@chakra-ui/react"; -import Api, { APIURLS } from "../../Api"; - -const Notify = (props) => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [userNumber, setUserNumber] = useState(); - const [success, setSuccess] = useState(false); - let authRedirect = null; - if (success) { - authRedirect = ; - } - const [userList, setUserList] = useState([]); - const toast = createStandaloneToast(); - const { data } = useQuery([APIURLS.getContentType], { - enabled: !!token, - }); - let selectAppName = []; - if (data) { - for (let key in data) { - selectAppName.push({ - value: key, - label: key, - }); - } - } - - async function handleSignup(params) { - try { - let obj = { - account_sid: params.account_sid, - auth_token: params.auth_token, - _from: params._from, - to: userList, - message: params.message, - }; - let { data } = await Api.post(APIURLS.smsNotify(), obj); - - toast({ - title: "Success", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - setSuccess(true); - } catch ({ response }) { - setSuccess(false); - } - } - const addUserHandler = () => { - setUserList([...userList, userNumber]); - setUserNumber(""); - }; - const removeUserHandler = (index) => { - let newUserList = []; - for (let key in userList) { - if (key != index) { - newUserList.push(userList[key]); - } - } - - setUserList(newUserList); - }; - - return ( - <> - {authRedirect} - - TWILIO - - - - -
    - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - -
    -
    - - - - - - {"Add phone number of users you want to send SMS"} - - - - - - - - - - setUserNumber(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - - {userList.map((key, index) => { - return ( - - - - {/* {user} */} - {key} - - - removeUserHandler(index)} - /> - - - ); - })} - - - - - -
    - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default Notify; diff --git a/doga-frontend/src/containers/Signup/Signup.js b/doga-frontend/src/containers/Signup/Signup.js deleted file mode 100644 index 7a13e33..0000000 --- a/doga-frontend/src/containers/Signup/Signup.js +++ /dev/null @@ -1,227 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { NavLink } from "react-router-dom"; -import { Box, Button, Span, MotionBox, H2, Input, Label } from "../../styles"; -import Api, { APIURLS } from "../../Api"; -import { Icon } from "@chakra-ui/react"; -import { FaUserAlt } from "react-icons/fa"; -import { MdEmail } from "react-icons/md"; -import { RiLockPasswordFill } from "react-icons/ri"; -import ClipLoader from "react-spinners/ClipLoader"; - -const Signup = () => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [loading, setLoading] = useState(false); - const [success, setSuccess] = useState(false); - const [apiErr, setApiErr] = useState(null); - - async function handleSignup(params) { - try { - setLoading(true); - let { data } = await Api.post(APIURLS.signup, { - ...params, - }); - - setLoading(false); - setSuccess(true); - } catch ({ response }) { - setLoading(false); - } - } - - return ( - <> - - - - {success ? ( - -

    Account created successfully.

    - - {" "} - - -
    - ) : ( - <> - -

    Create Account

    -
    - -
    - - - - - - - - - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - - - - - - {errors?.email && ( - - {errors?.email?.message} - - )} - - - - - - - - - - - - {errors?.password && ( - - {errors?.password?.message} - - )} - - - {apiErr && ( - - {apiErr} - - )} - - -
    -
    - - - {"Already have an account? "} - - {" "} - - {" "} - Log In - {" "} - - - - - )} -
    -
    -
    - - ); -}; - -export default Signup; diff --git a/doga-frontend/src/index.css b/doga-frontend/src/index.css deleted file mode 100644 index ec2585e..0000000 --- a/doga-frontend/src/index.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} diff --git a/doga-frontend/src/index.js b/doga-frontend/src/index.js deleted file mode 100644 index bda512b..0000000 --- a/doga-frontend/src/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import ReactDOM from "react-dom"; -import "./index.css"; -import App from "./App"; -import { BrowserRouter } from "react-router-dom"; -import reportWebVitals from "./reportWebVitals"; - -const app = ( - - - - - -); - -ReactDOM.render(app, document.getElementById("root")); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/doga-frontend/src/logo.svg b/doga-frontend/src/logo.svg deleted file mode 100644 index 9dfc1c0..0000000 --- a/doga-frontend/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/doga-frontend/src/reportWebVitals.js b/doga-frontend/src/reportWebVitals.js deleted file mode 100644 index 5253d3a..0000000 --- a/doga-frontend/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = onPerfEntry => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/doga-frontend/src/setupTests.js b/doga-frontend/src/setupTests.js deleted file mode 100644 index 8f2609b..0000000 --- a/doga-frontend/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; diff --git a/doga-frontend/src/styles/globals.css b/doga-frontend/src/styles/globals.css deleted file mode 100644 index 09d1af5..0000000 --- a/doga-frontend/src/styles/globals.css +++ /dev/null @@ -1,575 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap"); -@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600&display=swap"); - -html { - box-sizing: border-box; - font-size: 16px; - font-family: "Open Sans", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, - Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; -} -*, -*:before, -*:after { - box-sizing: inherit; -} - -body, -h1, -h2, -h3, -h4, -h5, -h6, -p, -ol, -ul { - margin: 0; - padding: 0; - font-weight: normal; -} -h1, -h2, -h3, -h4, -h5, -h6 { - font-weight: bold; -} - -ol, -ul { - list-style-position: inside; -} -table, -th, -td { - border: none; -} - -img { - max-width: 100%; - height: auto; -} - -a { - color: inherit; - text-decoration: none; - cursor: pointer; -} - -.hack a, -span { - line-height: 20px !important; -} -.carousel__dot img { - width: 120px; - height: 150px; - transition: all 0.4s ease-in-out; - transform: scale(1); - margin: 20px; -} -.carousel__dot--selected { - background-color: white !important; -} - -.carousel__dot--selected img { - transform: scale(1.5); - background-color: transparent; - transition: 0.4s ease-in-out; -} - -.dot-container button { - border: none; - background-color: white; -} -.dot-container carousel__dot--selected { - border: none; - background-color: white; -} - -.rc-collapse { - border: none !important; - background-color: white; -} -.rc-collapse-item { - border: none !important; - margin-bottom: 10px !important; - box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.1); -} -.rc-collapse > .rc-collapse-item-active > .rc-collapse-header { - color: #fff !important; -} -.rc-collapse-item-active { - background-color: #1d487b; -} - -.clamp { - display: -webkit-box !important; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; - text-overflow: ellipsis; - white-space: normal; - height: 3rem; -} -.clampPress { - display: -webkit-box !important; - -webkit-line-clamp: 4; - -webkit-box-orient: vertical; - overflow: hidden; - text-overflow: ellipsis; - white-space: normal; - height: 6rem; -} - -.clampHead { - display: -webkit-box !important; - -webkit-line-clamp: 1; - -webkit-box-orient: vertical; - overflow: hidden; - text-overflow: ellipsis; - white-space: normal; -} - -.StripeElement { - height: 40px; - padding: 10px 12px; - width: 100%; - color: #32325d; - background-color: white; - border: 1px solid transparent; - border-radius: 4px; - - box-shadow: 0 1px 3px 0 #e6ebf1; - -webkit-transition: box-shadow 150ms ease; - transition: box-shadow 150ms ease; -} - -.StripeElement--focus { - box-shadow: 0 1px 3px 0 #cfd7df; -} - -.StripeElement--invalid { - border-color: #fa755a; -} - -.StripeElement--webkit-autofill { - background-color: #fefde5 !important; -} - -.video { - object-fit: cover; - width: 100vw; - height: 80vh; - position: relative; -} - -.css-1wa3eu0-placeholder { - color: #6e798c !important; -} - -.Card { - position: relative; - text-align: center; - width: 280px; - height: 300px; - border-radius: 74% 82% 70% 88%; - display: table; - padding: 20px; - background-color: purple; - cursor: pointer; - z-index: 1; - transition: 0.5s; - color: #227093; -} -.Card:before, -.Card:after { - content: ""; - position: absolute; - top: 0px; - left: 0px; - width: 100%; - height: 100%; - z-index: -1; - animation: RotateDiv 5s linear infinite; -} -.Card:before { - border-radius: 130% 151% 189% 166%; - background-color: rgba(255, 255, 255, 0.7); - animation-delay: 0s; - transition: 0.5s; -} -.Card:after { - border-radius: 145% 86% 80% 90%; - background-color: rgba(255, 255, 255, 0.3); - animation-delay: 0.2s; - transition: 0.5s; -} -.Card:hover { - background-image: " linear-gradient(to right, rgb(127, 0, 255), rgb(139, 0, 139))"; - color: #fff; -} - -.Card div { - display: table-cell; - vertical-align: middle; -} -.Card div h2 { - font-size: 25px; -} -.Card div p { - margin-top: 20px; - font-size: 18px; -} -@keyframes RotateDiv { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} - -:root { - --ck-color-mention-background: hsla(341, 100%, 30%, 0.1); - --ck-color-mention-text: hsl(341, 100%, 30%); - --ck-highlight-marker-blue: hsl(201, 97%, 72%); - --ck-highlight-marker-green: hsl(120, 93%, 68%); - --ck-highlight-marker-pink: hsl(345, 96%, 73%); - --ck-highlight-marker-yellow: hsl(60, 97%, 73%); - --ck-highlight-pen-green: hsl(112, 100%, 27%); - --ck-highlight-pen-red: hsl(0, 85%, 49%); - --ck-image-style-spacing: 1.5em; - --ck-todo-list-checkmark-size: 16px; -} - -.ck-content .marker-yellow { - background-color: var(--ck-highlight-marker-yellow); -} -.ck-content .h2 { - color: purple; -} -.ck-content .marker-green { - background-color: var(--ck-highlight-marker-green); -} -/* ckeditor5-highlight/theme/highlight.css */ -.ck-content .marker-pink { - background-color: var(--ck-highlight-marker-pink); -} -/* ckeditor5-highlight/theme/highlight.css */ -.ck-content .marker-blue { - background-color: var(--ck-highlight-marker-blue); -} -/* ckeditor5-highlight/theme/highlight.css */ -.ck-content .pen-red { - color: var(--ck-highlight-pen-red); - background-color: transparent; -} -/* ckeditor5-highlight/theme/highlight.css */ -.ck-content .pen-green { - color: var(--ck-highlight-pen-green); - background-color: transparent; -} -/* ckeditor5-font/theme/fontsize.css */ -.ck-content .text-tiny { - font-size: 0.7em; -} -/* ckeditor5-font/theme/fontsize.css */ -.ck-content .text-small { - font-size: 0.85em; -} -/* ckeditor5-font/theme/fontsize.css */ -.ck-content .text-big { - font-size: 1.4em; -} -/* ckeditor5-font/theme/fontsize.css */ -.ck-content .text-huge { - font-size: 1.8em; -} -/* ckeditor5-image/theme/imagestyle.css */ -.ck-content .image-style-side { - float: right; - margin-left: var(--ck-image-style-spacing); - max-width: 50%; -} -/* ckeditor5-image/theme/imagestyle.css */ -.ck-content .image-style-align-left { - float: left; - margin-right: var(--ck-image-style-spacing); -} -/* ckeditor5-image/theme/imagestyle.css */ -.ck-content .image-style-align-center { - margin-left: auto; - margin-right: auto; -} -/* ckeditor5-image/theme/imagestyle.css */ -.ck-content .image-style-align-right { - float: right; - margin-left: var(--ck-image-style-spacing); -} -/* ckeditor5-code-block/theme/codeblock.css */ -.ck-content pre { - padding: 1em; - color: hsl(0, 0%, 20.8%); - background: hsla(0, 0%, 78%, 0.3); - border: 1px solid hsl(0, 0%, 77%); - border-radius: 2px; - text-align: left; - direction: ltr; - tab-size: 4; - white-space: pre-wrap; - font-style: normal; - min-width: 200px; -} -/* ckeditor5-code-block/theme/codeblock.css */ -.ck-content pre code { - background: unset; - padding: 0; - border-radius: 0; -} -/* ckeditor5-html-embed/theme/htmlembed.css */ -.ck-content .raw-html-embed { - margin: 1em auto; - min-width: 15em; - font-style: normal; -} -/* ckeditor5-horizontal-line/theme/horizontalline.css */ -.ck-content hr { - margin: 15px 0; - height: 4px; - background: hsl(0, 0%, 87%); - border: 0; -} -/* ckeditor5-image/theme/imagecaption.css */ -.ck-content .image > figcaption { - display: table-caption; - caption-side: bottom; - word-break: break-word; - color: hsl(0, 0%, 20%); - background-color: hsl(0, 0%, 97%); - padding: 0.6em; - font-size: 0.75em; - outline-offset: -1px; -} -/* ckeditor5-image/theme/imageresize.css */ -.ck-content .image.image_resized { - max-width: 100%; - display: block; - box-sizing: border-box; -} -/* ckeditor5-image/theme/imageresize.css */ -.ck-content .image.image_resized img { - width: 100%; -} -/* ckeditor5-image/theme/imageresize.css */ -.ck-content .image.image_resized > figcaption { - display: block; -} -/* ckeditor5-image/theme/image.css */ -.ck-content .image { - display: table; - clear: both; - text-align: center; - margin: 1em auto; -} -/* ckeditor5-image/theme/image.css */ -.ck-content .image img { - display: block; - margin: 0 auto; - max-width: 100%; - min-width: 50px; -} -/* ckeditor5-language/theme/language.css */ -.ck-content span[lang] { - font-style: italic; -} -/* ckeditor5-basic-styles/theme/code.css */ -.ck-content code { - background-color: hsla(0, 0%, 78%, 0.3); - padding: 0.15em; - border-radius: 2px; -} -/* ckeditor5-block-quote/theme/blockquote.css */ -.ck-content blockquote { - overflow: hidden; - padding-right: 1.5em; - padding-left: 1.5em; - margin-left: 0; - margin-right: 0; - font-style: italic; - border-left: solid 5px hsl(0, 0%, 80%); -} -/* ckeditor5-block-quote/theme/blockquote.css */ -.ck-content[dir="rtl"] blockquote { - border-left: 0; - border-right: solid 5px hsl(0, 0%, 80%); -} -/* ckeditor5-table/theme/table.css */ -.ck-content .table { - margin: 1em auto; - display: table; -} -/* ckeditor5-table/theme/table.css */ -.ck-content .table table { - border-collapse: collapse; - border-spacing: 0; - width: 100%; - height: 100%; - border: 1px double hsl(0, 0%, 70%); -} -/* ckeditor5-table/theme/table.css */ -.ck-content .table table td, -.ck-content .table table th { - min-width: 2em; - padding: 0.4em; - border: 1px solid hsl(0, 0%, 75%); -} -/* ckeditor5-table/theme/table.css */ -.ck-content .table table th { - font-weight: bold; - background: hsla(0, 0%, 0%, 5%); -} -/* ckeditor5-table/theme/table.css */ -.ck-content[dir="rtl"] .table th { - text-align: right; -} -/* ckeditor5-table/theme/table.css */ -.ck-content[dir="ltr"] .table th { - text-align: left; -} -/* ckeditor5-page-break/theme/pagebreak.css */ -.ck-content .page-break { - position: relative; - clear: both; - padding: 5px 0; - display: flex; - align-items: center; - justify-content: center; -} -/* ckeditor5-page-break/theme/pagebreak.css */ -.ck-content .page-break::after { - content: ""; - position: absolute; - border-bottom: 2px dashed hsl(0, 0%, 77%); - width: 100%; -} -/* ckeditor5-page-break/theme/pagebreak.css */ -.ck-content .page-break__label { - position: relative; - z-index: 1; - padding: 0.3em 0.6em; - display: block; - text-transform: uppercase; - border: 1px solid hsl(0, 0%, 77%); - border-radius: 2px; - font-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif; - font-size: 0.75em; - font-weight: bold; - color: hsl(0, 0%, 20%); - background: hsl(0, 0%, 100%); - box-shadow: 2px 2px 1px hsla(0, 0%, 0%, 0.15); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -/* ckeditor5-media-embed/theme/mediaembed.css */ -.ck-content .media { - clear: both; - margin: 1em 0; - display: block; - min-width: 15em; -} -/* ckeditor5-list/theme/todolist.css */ -.ck-content .todo-list { - list-style: none; -} -/* ckeditor5-list/theme/todolist.css */ -.ck-content .todo-list li { - margin-bottom: 5px; -} -/* ckeditor5-list/theme/todolist.css */ -.ck-content .todo-list li .todo-list { - margin-top: 5px; -} -/* ckeditor5-list/theme/todolist.css */ -.ck-content .todo-list .todo-list__label > input { - -webkit-appearance: none; - display: inline-block; - position: relative; - width: var(--ck-todo-list-checkmark-size); - height: var(--ck-todo-list-checkmark-size); - vertical-align: middle; - border: 0; - left: -25px; - margin-right: -15px; - right: 0; - margin-left: 0; -} -/* ckeditor5-list/theme/todolist.css */ -.ck-content .todo-list .todo-list__label > input::before { - display: block; - position: absolute; - box-sizing: border-box; - content: ""; - width: 100%; - height: 100%; - border: 1px solid hsl(0, 0%, 20%); - border-radius: 2px; - transition: 250ms ease-in-out box-shadow, 250ms ease-in-out background, - 250ms ease-in-out border; -} -/* ckeditor5-list/theme/todolist.css */ -.ck-content .todo-list .todo-list__label > input::after { - display: block; - position: absolute; - box-sizing: content-box; - pointer-events: none; - content: ""; - left: calc(var(--ck-todo-list-checkmark-size) / 3); - top: calc(var(--ck-todo-list-checkmark-size) / 5.3); - width: calc(var(--ck-todo-list-checkmark-size) / 5.3); - height: calc(var(--ck-todo-list-checkmark-size) / 2.6); - border-style: solid; - border-color: transparent; - border-width: 0 calc(var(--ck-todo-list-checkmark-size) / 8) - calc(var(--ck-todo-list-checkmark-size) / 8) 0; - transform: rotate(45deg); -} -/* ckeditor5-list/theme/todolist.css */ -.ck-content .todo-list .todo-list__label > input[checked]::before { - background: hsl(126, 64%, 41%); - border-color: hsl(126, 64%, 41%); -} -/* ckeditor5-list/theme/todolist.css */ -.ck-content .todo-list .todo-list__label > input[checked]::after { - border-color: hsl(0, 0%, 100%); -} -/* ckeditor5-list/theme/todolist.css */ -.ck-content .todo-list .todo-list__label .todo-list__label__description { - vertical-align: middle; -} -/* ckeditor5-mention/theme/mention.css */ -.ck-content .mention { - background: var(--ck-color-mention-background); - color: var(--ck-color-mention-text); -} -.ck-content h2 { - font-size: 3rem; -} -.ck-content h3 { - font-size: 2.5rem; -} -.ck-content h4 { - font-size: 2rem; -} -@media print { - /* ckeditor5-page-break/theme/pagebreak.css */ - .ck-content .page-break { - padding: 0; - } - /* ckeditor5-page-break/theme/pagebreak.css */ - .ck-content .page-break::after { - display: none; - } -} diff --git a/doga-frontend/src/styles/index.js b/doga-frontend/src/styles/index.js deleted file mode 100644 index b83101f..0000000 --- a/doga-frontend/src/styles/index.js +++ /dev/null @@ -1,559 +0,0 @@ -import styled from "@emotion/styled"; -import { height, variant } from "styled-system"; -import { motion } from "framer-motion"; -import theme from "./theme"; - -import { - space, - layout, - color, - flexbox, - border, - typography, - background, - grid, - shadow, - position, - backgroundImage, -} from "styled-system"; - -export const Box = styled.div( - variant({ - prop: "type", - variants: { - row: { - display: "flex", - flexDirection: "row", - alignItems: "center", - justifyContent: "space-between", - }, - column: { - display: "flex", - flexDirection: "column", - }, - center: { - display: "flex", - flexDirection: "column", - alignItems: "center", - justifyContent: "center", - }, - relative: { - boxSizing: "border-box", - clear: "both", - fontSize: "1rem", - position: "relative", - textAlign: "inherit", - }, - tableView: { - marginTop: "1.25rem", - padding: "0.75rem", - borderWidth: "1px", - - background: "white", - margin: "1.5rem 2.5rem", - }, - loader: { - position: "fixed", - zIndex: "999", - overflow: "show", - margin: "auto", - top: "0", - left: "200px", - bottom: "0", - right: "0", - width: "60px", - height: "60px", - color: " #ffffff", - boxShadow: "#382e6c 0px 2px 4px 1px", - background: "#8071b3", - borderRadius: "50%", - padding: "3px", - }, - loaderText: { - position: "fixed", - zIndex: "999", - overflow: "show", - margin: "auto", - top: "150px", - left: "200px", - bottom: "0", - right: "0", - width: "100px", - height: "50px", - - padding: "13px", - }, - loaderCentered: { - position: "fixed", - zIndex: "999", - overflow: "show", - margin: "auto", - left: "0", - top: "0", - bottom: "0", - right: "0", - width: "60px", - height: "60px", - color: " #ffffff", - boxShadow: "#382e6c 0px 2px 4px 1px", - background: "#8071b3", - borderRadius: "50%", - padding: "3px", - }, - heading: { - width: "100%", - marginLeft: "0", - marginRight: "0", - padding: "12px 20px 10px", - minHeight: "63px", - marginTop: "2px", - borderBottom: "2px solid #8071b399", - backgroundColor: "#f7f8fb", - padding: "20px", - }, - }, - }), - space, - color, - grid, - layout, - flexbox, - border, - typography, - shadow, - position, - background -); -export const MotionBox = styled(motion.div)( - variant({ - prop: "type", - variants: { - row: { - display: "flex", - flexDirection: "row", - alignItems: "center", - justifyContent: "space-between", - }, - column: { - display: "flex", - flexDirection: "column", - }, - center: { - display: "flex", - flexDirection: "column", - alignItems: "center", - justifyContent: "center", - }, - rowSidebar: { - display: "flex", - flexDirection: "row", - alignItems: "center", - justifyContent: "space-between", - "&:hover": { - color: "purple", - }, - }, - }, - }), - space, - color, - grid, - layout, - flexbox, - border, - typography, - shadow, - position, - background -); - -export const Button = styled("button")( - { - appearance: "none", - fontFamily: theme.fonts.DM, - fontWeight: theme.fontWeights.semiBold, - fontSize: "15px", - - cursor: "pointer", - width: "fit-content", - - outline: "none", - border: "none", - - userSelect: "none", - padding: "0.75em 1.75em", - borderRadius: "5px", - display: "inline-block", - color: "#ffffff", - boxShadow: "#382e6c 0px 2px 4px 1px", - background: "#8071b3", - "&:hover": { - opacity: ".8", - }, - }, - variant({ - prop: "type", - variants: { - primary: { - width: "110px", - }, - secondary: {}, - tableAdd: { - borderRadius: "4px 0 4px 0", - color: "purple", - backgroundColor: "rgb(241 218 249)", - width: "-webkit-fill-available", - - backgroundImage: "none", - }, - toggleTable: { - color: "purple", - backgroundColor: "rgb(255 255 255)", - borderRadius: "0px", - backgroundImage: "none", - "&:hover": { - opacity: "1", - }, - }, - }, - }), - space, - color, - typography, - layout, - flexbox, - border -); -export const Tab = styled("button")( - { - appearance: "none", - fontFamily: theme.fonts.DM, - fontWeight: theme.fontWeights.normal, - fontSize: "16px", - padding: "8px 13px", - color: "#191919", - backgroundColor: "#f2f2f2", - cursor: "pointer", - borderRadius: "15px", - width: "100%", - borderColor: "#e8e8e8", - }, - variant({ - prop: "type", - variants: { - active: { - color: "white", - bg: "orange", - boxShadow: "0px 4px 14px rgba(237, 107, 101, 0.9)", - }, - }, - }), - space, - color, - typography, - layout, - flexbox, - border -); - -export const Para = styled.p( - { - fontSize: "0.91rem", - color: theme.colors.grey, - lineHeight: "24px", - }, - variant({ - prop: "type", - variants: { - info: { - fontSize: "0.70rem", - color: theme.colors.grey, - lineHeight: "inherit", - }, - }, - }), - space, - color, - typography, - position, - border, - layout -); - -export const Span = styled.span( - { - fontSize: "theme.fontSizes[4]", - color: theme.colors.grey, - lineHeight: "24px", - }, - space, - color, - typography, - layout, - variant({ - prop: "type", - variants: { - icon: { - left: "12px", - - color: "#dbdbdb", - - pointerEvents: "none", - position: "absolute", - top: "8px", - width: "2.5em", - zIndex: "4", - }, - heading: { - color: "#5d6c84", - fontSize: "1.2rem", - }, - }, - }) -); -export const Tag = styled.span( - { - fontSize: theme.fontSizes[4], - - borderRadius: "4px 0 4px 0", - }, - space, - color, - typography, - layout -); -export const Tags = styled.div( - { - fontSize: theme.fontSizes[4], - borderRadius: "4px 0 4px 0", - fontSize: "xx-large", - border: "none", - }, - space, - color, - typography, - layout, - height, - border -); - -export const H1 = styled.h1( - { - fontSize: theme.fontSizes[10], - color: theme.colors.lightPurple, - fontFamily: theme.fonts.DM, - fontWeight: theme.fontWeights.light, - lineHeight: "64px", - }, - - space, - color, - typography, - position, - border, - layout, - variant({ - prop: "type", - variants: { - fullBorder: { - paddingBottom: 12, - borderBottom: "4px solid", - borderColor: "rgb(127, 0, 255)", - }, - centerBorder: { - paddingBottom: 12, - borderBottom: "4px solid", - borderColor: "rgb(127, 0, 255)", - width: "fit-content", - textAlign: "center", - }, - }, - }) -); -export const H2 = styled.h2( - { - fontSize: "2rem", - color: "#8071b3", - fontWeight: "500", - lineHeight: "18px", - marginBottom: "0.5rem", - }, - space, - color, - typography, - position, - border, - layout, - variant({ - prop: "type", - variants: { - fullBorder: { - paddingBottom: 12, - borderBottom: "4px solid", - borderColor: "#4B0082", - }, - centerBorder: { - paddingBottom: 12, - borderBottom: "4px solid", - borderColor: "#4B0082", - width: "fit-content", - textAlign: "center", - }, - }, - }) -); -export const H3 = styled.h3( - { - fontSize: theme.fontSizes[8], - color: theme.colors.lightPurple, - fontFamily: theme.fonts.DM, - fontWeight: theme.fontWeights.normal, - lineHeight: "36px", - }, - space, - color, - typography, - position, - border, - layout, - variant({ - prop: "type", - variants: { - fullBorder: { - paddingBottom: 12, - borderBottom: "4px solid", - borderColor: "orange", - }, - centerBorder: { - paddingBottom: 12, - borderBottom: "4px solid", - borderColor: "orange", - width: "fit-content", - textAlign: "center", - }, - }, - }) -); -export const H5 = styled.h5( - { - fontSize: theme.fontSizes[6], - color: theme.colors.purple, - fontFamily: theme.fonts.DM, - fontWeight: theme.fontWeights.normal, - lineHeight: "26px", - }, - space, - color, - typography, - position, - border, - layout -); -export const H6 = styled.h6( - { - fontSize: theme.fontSizes[4], - color: theme.colors.purple, - fontFamily: theme.fonts.DM, - fontWeight: theme.fontWeights.normal, - marginBottom: 0, - }, - space, - color, - typography, - position, - border, - layout -); - -export const StyledLink = styled("a")( - { - fontSize: theme.fontSizes[5], - color: theme.colors.grey, - lineHeight: "24px", - cursor: "pointer", - }, - space, - color, - typography, - position, - border, - layout -); - -export const Image = styled.img` - ${space} - ${color} - ${typography} - ${position} - ${border} - ${shadow} -`; -export const ResponsiveImage = styled.img` - ${space} - ${color} - ${typography} - ${position} - ${border} - ${shadow} - ${layout} -`; - -export const Input = styled("input")( - { - border: "1px solid #d3d3d3", - borderRadius: 5, - }, - space, - color, - typography, - layout, - position, - border, - shadow, - variant({ - prop: "inputType", - variants: { - auth: { - paddingLeft: 42, - }, - }, - }) -); -export const Label = styled("label")( - { - display: "inline-block", - fontSize: "1rem", - fontWeight: "700", - fontFamily: theme.fonts.DM, - marginBottom: "6px", - padding: "0", - color: "#5d6c84", - }, - space, - color, - typography, - layout, - position, - border, - shadow, - variant({ - prop: "type", - variants: { - auth: { - paddingLeft: 42, - }, - }, - }) -); -export const TextArea = styled("textArea")( - { - border: "1px solid #d3d3d3", - }, - space, - color, - typography, - layout, - position, - border, - shadow -); diff --git a/doga-frontend/src/styles/stepper.css b/doga-frontend/src/styles/stepper.css deleted file mode 100644 index bad0d9b..0000000 --- a/doga-frontend/src/styles/stepper.css +++ /dev/null @@ -1,54 +0,0 @@ -.container { - width: 100%; -} - -.progressbar { - counter-reset: step; -} -.progressbar li { - list-style: none; - display: inline-block; - width: 30.33%; - position: relative; - text-align: center; - color: #1d487b; - cursor: pointer; -} -.progressbar li:before { - content: counter(step); - counter-increment: step; - width: 30px; - height: 30px; - line-height: 30px; - border: 1px solid #ddd; - color: white; - border-radius: 100%; - display: block; - text-align: center; - margin: 0 auto 10px auto; - background-color: gray; -} -.progressbar li:after { - content: ""; - position: absolute; - width: 100%; - height: 1px; - background-color: #ddd; - top: 15px; - left: -50%; - z-index: -1; -} -.progressbar li:first-child:after { - content: none; -} -.progressbar li.active { - color: #1d487b; -} -.progressbar li.active:before { - border-color: #ee6a65; - color: white; - background-color: #ee6a65; -} -.progressbar li.active + li:after { - background-color: #ee6a65; -} diff --git a/doga-frontend/src/styles/theme.js b/doga-frontend/src/styles/theme.js deleted file mode 100644 index f565302..0000000 --- a/doga-frontend/src/styles/theme.js +++ /dev/null @@ -1,108 +0,0 @@ -const breakpoints = ["768px", "1200px", "1500px"]; - -breakpoints.sm = breakpoints[0]; -breakpoints.md = breakpoints[1]; -breakpoints.lg = breakpoints[2]; - -export const colors = { - black: "#081F32", - grey: "#6E798C", - orange: "#ED6B65", - blue: "#1D487B", - white: "#fff", - lightGrey: "#f2f2f2", - purple: "#492897", - lightPurple: "#8071b3", -}; - -const fonts = { - OP: "Open SANS", - DM: "DM SANS", -}; - -const space = [ - "0", - "0.25rem", - "0.5rem", - "0.75rem", - "1rem", - "1.25rem", - "1.5rem", - "2rem", - "2.5rem", - "3rem", - "4rem", - "5rem", -]; - -const fontWeights = { - light: 300, - normal: 400, - medium: 500, - semiBold: 600, - bold: 700, -}; - -const fontSizes = [ - ".5rem", - ".75rem", - ".875rem", - "1rem", - "1.125rem", - "1.25rem", - "1.5rem", - "1.875rem", - "2.25rem", - "3rem", - "4rem", -]; -const lineHeights = [ - ".5rem", - ".75rem", - ".875rem", - "1rem", - "1.125rem", - "1.25rem", - "1.5rem", - "1.875rem", - "2.25rem", - "3rem", - "4rem", -]; - -const radii = { - sm: "0.125rem", - base: "0.25rem", - md: "0.375rem", - lg: "0.5rem", -}; - -const shadows = { - card: "0px 6px 32px rgba(0, 0, 0, 0.06)", - xs: "0 0 0 1px rgba(0, 0, 0, 0.05)", - sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)", - base: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)", - invision: "0 -1px 1px 0 rgba(0,0,0,.05),0 1px 2px 0 rgba(2,32,65,.2)", - invisionHover: "0 4px 25px 0 rgba(0,0,0,.2),0 0 1px 0 rgba(0,0,0,.15)", - md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)", - lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)", - blueShadow: "0px 20px 64px rgba(29, 72, 123, 0.3)", - orangeShadow: "0px 12px 32px #dd726a75", - greenShadow: "0px 12px 32px #6addac75", - shadow3: "0px 12px 32px #6a7cdd75", - shadow4: "0px 12px 32px #99dd6a75", -}; - -const theme = { - breakpoints, - fonts, - fontSizes, - fontWeights, - lineHeights, - colors, - shadows, - radii, - space, -}; - -export default theme; diff --git a/requirements.txt b/requirements.txt index 32a5dc3..fd4bae5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,7 +14,7 @@ clickclick==20.10.2 connexion==2.7.0 cryptography==3.4.6 dnspython==1.16.0 -eventlet==0.30.1 +eventlet==0.33.1 Flask==1.1.1 Flask-Cors==3.0.8 Flask-Ext==0.1 @@ -41,10 +41,8 @@ MarkupSafe==1.1.1 mccabe==0.6.1 mirakuru==2.3.0 mysqlclient==1.4.2.post1 -numpy==1.20.1 openapi-spec-validator==0.2.9 packaging==20.4 -pandas==1.2.3 paramiko==2.7.2 passlib==1.7.1 pluggy==0.13.1 @@ -52,7 +50,7 @@ port-for==0.4 psutil==5.7.2 psycopg2==2.8.6 psycopg2-binary==2.8.6 -py==1.9.0 +py==1.11.0 pycodestyle==2.6.0 pycparser==2.20 PyJWT==1.7.1 @@ -77,6 +75,6 @@ six==1.12.0 SQLAlchemy==1.3.5 toml==0.10.1 twilio==6.40.0 -urllib3==1.25.10 +urllib3==1.26.8 Werkzeug==0.15.5 wrapt==1.12.1 diff --git a/runserver.py b/runserver.py index 4c7a4fd..ac17704 100644 --- a/runserver.py +++ b/runserver.py @@ -2,10 +2,13 @@ from admin.utils import set_jwt_secret_key from config import HOST, PORT - if __name__ == "__main__": set_jwt_secret_key() debug = True app.run( - host=HOST, port=PORT, debug=debug, use_reloader=debug, threaded=True + host=HOST, + port=PORT, + debug=debug, + use_reloader=debug, + threaded=True, ) From e955720c0bcc0754ca6b5830a8752500d7521240 Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Wed, 16 Feb 2022 08:27:53 +0530 Subject: [PATCH 02/12] Udate server to serve static folder & use css --- admin/frontend_resources.py | 3 +- admin/static/css/forms.css | 158 ++++++++++++++++++++++++++++++++++ admin/static/forms.css | 158 ---------------------------------- admin/templates/signup.jinja2 | 6 +- app/__init__.py | 5 +- 5 files changed, 164 insertions(+), 166 deletions(-) create mode 100644 admin/static/css/forms.css delete mode 100644 admin/static/forms.css diff --git a/admin/frontend_resources.py b/admin/frontend_resources.py index 924c6ee..9b9582c 100644 --- a/admin/frontend_resources.py +++ b/admin/frontend_resources.py @@ -7,8 +7,7 @@ mod_frontend = Blueprint("frontend", __name__, template_folder="templates", - static_folder='static', - static_url_path='/static') + static_folder="static") api_frontend = Api() api_frontend.init_app(mod_frontend) diff --git a/admin/static/css/forms.css b/admin/static/css/forms.css new file mode 100644 index 0000000..10e2076 --- /dev/null +++ b/admin/static/css/forms.css @@ -0,0 +1,158 @@ +form { + background: white; + width: 100%; +} + +.form-field { + position: relative; + border: 0; + padding: 0; +} + +.container { + padding: 80px; + display: flex; + justify-content: space-around; +} + +@media(max-width: 500px) { + .container { + padding: 0; + } +} + +.title { + font-size: 1.7rem; + color: #5f6988; + font-weight: 300; + border-bottom: 1px solid #dbe3ec; + padding-bottom: 5px; + margin: 0 0 40px 0; +} + +.form-wrapper { + background: white; + width: 350px; + box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); + padding: 40px; +} + +label { + font-size: .9em; + color: #5f6988; + margin-bottom: 3px; + display: block; + font-weight: 300; +} + +input, textarea, select { + padding: 10px 13px; + margin-bottom: 15px; + width: -webkit-fill-available; + width: -moz-available; + border-radius: 2px; + border: 1px solid #d4d9e3; + font-weight: 200; + color: #4d5060; + font-family: 'Poppins', sans-serif; + transition: all .3s ease-out; + font-size: .9em; + outline-color: transparent; + outline-style: none; +} + +select { + -webkit-appearance: none; +} + +select::after { + content: "hello"; + width: 0; + height: 0; + border-left: 20px solid transparent; + border-right: 20px solid transparent; + display: block; + border-top: 20px solid #f00; +} + +input[type="text"]::placeholder { + color: #d4d9e3; +} + +input[type="text"]:hover, +input[type="password"]:hover, +textarea:hover, +select:hover { + border-color: #5eb9d7; + background: #d9f6ff; +} + +input[type="text"]:focus, +input[type="password"]:focus, +textarea:focus { + background: white; + border-color: #5eb9d7; + box-shadow: unset; +} + +input[type="submit"], +button { + background: #5eb9d7; + color: white; + border-radius: 2px; + margin-top: 15px; + font-weight: 400; + border: 1px solid #5eb9d7; + line-height: 1; + transition: all .3s ease-out; +} + +input[type="submit"]:hover, +button:hover { + cursor: pointer; + background: white; + color: #5eb9d7; + padding: 13px !important; +} + +.success-wrapper { + background: white; + width: 350px; + box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); + padding: 50px; +} + +.errors { + list-style: none; + margin: -15px 0 20px; + font-size: .8em; + text-align: left; + width: -webkit-fill-available; + width: -moz-available; + background: #fae7ea; + padding: 9px 15px; + border-radius: 0 0 3px 3px; + border-top: 0; + border: 1px solid #e1c5c5; + color: #8d7575; + height: fit-content; +} + +.error { + margin-bottom: 5px; +} + +.error:last-of-type { + margin-bottom: 0; +} + +i { + height: 15px; + color: #8d7575; + margin-right: 5px; + font-size: .9em; +} + +.g-recaptcha div { + margin: auto; +} \ No newline at end of file diff --git a/admin/static/forms.css b/admin/static/forms.css deleted file mode 100644 index 571146d..0000000 --- a/admin/static/forms.css +++ /dev/null @@ -1,158 +0,0 @@ -form { - background: white; - width: 100%; - } - - .form-field { - position: relative; - border: 0; - padding: 0; - } - - .container { - padding: 80px; - display: flex; - justify-content: space-around; - } - - @media(max-width: 500px) { - .container { - padding: 0; - } - } - - .title { - font-size: 1.7rem; - color: #5f6988; - font-weight: 300; - border-bottom: 1px solid #dbe3ec; - padding-bottom: 5px; - margin: 0 0 40px 0; - } - - .form-wrapper { - background: white; - width: 350px; - box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); - padding: 40px; - } - - label { - font-size: .9em; - color: #5f6988; - margin-bottom: 3px; - display: block; - font-weight: 300; - } - - input, textarea, select { - padding: 10px 13px; - margin-bottom: 15px; - width: -webkit-fill-available; - width: -moz-available; - border-radius: 2px; - border: 1px solid #d4d9e3; - font-weight: 200; - color: #4d5060; - font-family: 'Poppins', sans-serif; - transition: all .3s ease-out; - font-size: .9em; - outline-color: transparent; - outline-style: none; - } - - select { - -webkit-appearance: none; - } - - select::after { - content: "hello"; - width: 0; - height: 0; - border-left: 20px solid transparent; - border-right: 20px solid transparent; - display: block; - border-top: 20px solid #f00; - } - - input[type="text"]::placeholder { - color: #d4d9e3; - } - - input[type="text"]:hover, - input[type="password"]:hover, - textarea:hover, - select:hover { - border-color: #5eb9d7; - background: #d9f6ff; - } - - input[type="text"]:focus, - input[type="password"]:focus, - textarea:focus { - background: white; - border-color: #5eb9d7; - box-shadow: unset; - } - - input[type="submit"], - button { - background: #5eb9d7; - color: white; - border-radius: 2px; - margin-top: 15px; - font-weight: 400; - border: 1px solid #5eb9d7; - line-height: 1; - transition: all .3s ease-out; - } - - input[type="submit"]:hover, - button:hover { - cursor: pointer; - background: white; - color: #5eb9d7; - padding: 13px !important; - } - - .success-wrapper { - background: white; - width: 350px; - box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); - padding: 50px; - } - - .errors { - list-style: none; - margin: -15px 0 20px; - font-size: .8em; - text-align: left; - width: -webkit-fill-available; - width: -moz-available; - background: #fae7ea; - padding: 9px 15px; - border-radius: 0 0 3px 3px; - border-top: 0; - border: 1px solid #e1c5c5; - color: #8d7575; - height: fit-content; - } - - .error { - margin-bottom: 5px; - } - - .error:last-of-type { - margin-bottom: 0; - } - - i { - height: 15px; - color: #8d7575; - margin-right: 5px; - font-size: .9em; - } - - .g-recaptcha div { - margin: auto; - } \ No newline at end of file diff --git a/admin/templates/signup.jinja2 b/admin/templates/signup.jinja2 index 6081b01..a1c1c23 100644 --- a/admin/templates/signup.jinja2 +++ b/admin/templates/signup.jinja2 @@ -1,11 +1,7 @@ {% block styles %} - + {% endblock %} diff --git a/app/__init__.py b/app/__init__.py index 1699ddb..3842333 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -5,7 +5,10 @@ from flask_jwt_extended import JWTManager # Define application object -app = Flask(__name__) +app = Flask(__name__, + static_folder='/static', + static_url_path='', + ) # Define app configuration app.config.from_pyfile("../config.py") From d242f0f36441d6c2597a400bf53139868c7511cd Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Thu, 17 Feb 2022 12:50:08 +0530 Subject: [PATCH 03/12] fix signup functionality --- admin/admin_forms.py | 28 +++ admin/frontend_resources.py | 123 ++++++++- admin/frontend_utils.py | 56 ----- admin/resources.py | 112 +-------- admin/static/css/forms.css | 215 ++++++---------- admin/static/css/styles/anchor.css | 31 +++ admin/static/css/styles/app.css | 17 ++ admin/static/css/styles/avatar.css | 54 ++++ admin/static/css/styles/badge.css | 22 ++ admin/static/css/styles/borders.css | 54 ++++ admin/static/css/styles/button.css | 138 ++++++++++ admin/static/css/styles/card.css | 12 + admin/static/css/styles/colors.css | 170 +++++++++++++ admin/static/css/styles/display.css | 18 ++ admin/static/css/styles/input.css | 67 +++++ admin/static/css/styles/list.css | 40 +++ .../css/styles/radio-checkbox-switch.css | 237 ++++++++++++++++++ admin/static/css/styles/scrollbar.css | 44 ++++ admin/static/css/styles/select.css | 151 +++++++++++ admin/static/css/styles/sizes.css | 136 ++++++++++ admin/static/css/styles/table.css | 35 +++ admin/static/css/styles/tabs.css | 47 ++++ admin/static/css/styles/typography.css | 139 ++++++++++ admin/static/css/temp.css | 153 +++++++++++ admin/templates/signup.jinja2 | 156 ++++++------ admin/templates/signup_result.jinja2 | 15 ++ 26 files changed, 1879 insertions(+), 391 deletions(-) create mode 100644 admin/admin_forms.py delete mode 100644 admin/frontend_utils.py create mode 100644 admin/static/css/styles/anchor.css create mode 100644 admin/static/css/styles/app.css create mode 100644 admin/static/css/styles/avatar.css create mode 100644 admin/static/css/styles/badge.css create mode 100644 admin/static/css/styles/borders.css create mode 100644 admin/static/css/styles/button.css create mode 100644 admin/static/css/styles/card.css create mode 100644 admin/static/css/styles/colors.css create mode 100644 admin/static/css/styles/display.css create mode 100644 admin/static/css/styles/input.css create mode 100644 admin/static/css/styles/list.css create mode 100644 admin/static/css/styles/radio-checkbox-switch.css create mode 100644 admin/static/css/styles/scrollbar.css create mode 100644 admin/static/css/styles/select.css create mode 100644 admin/static/css/styles/sizes.css create mode 100644 admin/static/css/styles/table.css create mode 100644 admin/static/css/styles/tabs.css create mode 100644 admin/static/css/styles/typography.css create mode 100644 admin/static/css/temp.css create mode 100644 admin/templates/signup_result.jinja2 diff --git a/admin/admin_forms.py b/admin/admin_forms.py new file mode 100644 index 0000000..aa28082 --- /dev/null +++ b/admin/admin_forms.py @@ -0,0 +1,28 @@ +"""Form object declaration.""" +from flask_wtf import FlaskForm, RecaptchaField +from wtforms import ( + DateField, + PasswordField, + SelectField, + StringField, + SubmitField, + TextAreaField, +) +from wtforms.validators import URL, DataRequired, Email, EqualTo, Length + + +class SignupForm(FlaskForm): + """Sign up for a user account.""" + + email = StringField( + "Email", [Email(message="Not a valid email address."), + DataRequired()]) + password = PasswordField( + "Password", + [DataRequired(message="Please enter a password.")], + ) + confirmPassword = PasswordField( + "Repeat Password", + [EqualTo(password, message="Passwords must match.")]) + name = StringField("Name", [DataRequired()]) + submit = SubmitField("Submit") diff --git a/admin/frontend_resources.py b/admin/frontend_resources.py index 9b9582c..22a55f5 100644 --- a/admin/frontend_resources.py +++ b/admin/frontend_resources.py @@ -1,8 +1,15 @@ -from flask import Blueprint, render_template, make_response, redirect, url_for +from flask import Blueprint, render_template, make_response, redirect, url_for, request, flash from flask_restful import Api, Resource, marshal_with, fields -from admin.frontend_utils import * -from datetime import datetime +from admin.models.admin_model import Admin as AdminObject + +from admin.admin_forms import * + +from app import db + +from passlib.handlers.sha2_crypt import sha512_crypt + +ALGORITHM = sha512_crypt mod_frontend = Blueprint("frontend", __name__, @@ -29,14 +36,114 @@ def get(self): template="form-template", title="Signup Form") - @marshal_with('signup') def post(self): - form = SignupForm() - if form.validate_on_submit(): - return {'redirect(url_for("success"))'}, 200 + """ + Defines responses for the `/admin/admin_adminprofile` + endpoint + It creates a Admin object from the request body it receives, + checking if all values satisfy the model constraints and then writing + data to the `amin` database. + + Parameters: + ---------- + - name: + in: json body + type: string + required: true + description: Name of the Admin User + + - email: + in: json body + type: string + format: email + required: true + description: E-mail id (unique) corresponding to the user + + - password: + in : json body + type: string + format: length + required: true + + Returns: + ------- + json serializable dict + integer response code + + responses: + - 200 + description: Success registering admin + schema: + type: json + parameters: + - result + type: string + - id + type: integer + - email + type: string + format: email + - 400 + description: Error message + schema: + type: json + parameters: + - result + type: string + description: Error message + - 403 + description: Admin already registered + """ + """TODO: delete unnecessary validation code + json_request = request.get_json() + if json_request is None: + return {"result": "Error json body cannot be None."}, 400 + + required_keys = {"name", "email", "password"} + + missed_keys = required_keys.difference(json_request.keys()) + + if len(missed_keys) != 0: + return ( + { + "result": "Values for fields cannot be null", + "required values": list(missed_keys), + }, + 400, + )""" + form = SignupForm(request.form) + try: + admin = AdminObject.from_dict({ + "name": form.name.data, + "email": form.email.data, + "password": form.password.data + }) + except ValueError as err: + flash("Error: ".join(err.args)) + return render_template("signup.jinja2", + form=form, + template="form-template", + title="Signup Form") + print(admin) + admin_exists = Admin.query.filter_by(email=admin.email.lower()).first() + if admin_exists is None: + password_hash = ALGORITHM.hash(admin.password) + admin = Admin( + email=admin.email.lower(), + password=password_hash, + name=admin.name, + create_dt=dt.now(), + ) + db.session.add(admin) + db.session.commit() + return { + "result": "Admin created successfully.", + "id": admin.id, + "email": admin.email, + }, 200 else: - return "sad" + return {"result": "Admin already exists."}, 403 api_frontend.add_resource(test, "/test") diff --git a/admin/frontend_utils.py b/admin/frontend_utils.py deleted file mode 100644 index 37f251c..0000000 --- a/admin/frontend_utils.py +++ /dev/null @@ -1,56 +0,0 @@ -"""Form object declaration.""" -from flask_wtf import FlaskForm, RecaptchaField -from wtforms import ( - DateField, - PasswordField, - SelectField, - StringField, - SubmitField, - TextAreaField, -) -from wtforms.validators import URL, DataRequired, Email, EqualTo, Length - - -class ContactForm(FlaskForm): - """Contact form.""" - - name = StringField("Name", [DataRequired()]) - email = StringField( - "Email", [Email(message="Not a valid email address."), - DataRequired()]) - body = TextAreaField( - "Message", - [DataRequired(), - Length(min=4, message="Your message is too short.")]) - submit = SubmitField("Submit") - - -class SignupForm(FlaskForm): - """Sign up for a user account.""" - - email = StringField( - "Email", [Email(message="Not a valid email address."), - DataRequired()]) - password = PasswordField( - "Password", - [DataRequired(message="Please enter a password.")], - ) - confirmPassword = PasswordField( - "Repeat Password", - [EqualTo(password, message="Passwords must match.")]) - title = SelectField( - "Title", - [DataRequired()], - choices=[ - ("Farmer", "farmer"), - ("Corrupt Politician", "politician"), - ("No-nonsense City Cop", "cop"), - ("Professional Rocket League Player", "rocket"), - ("Lonely Guy At A Diner", "lonely"), - ("Pokemon Trainer", "pokemon"), - ], - ) - website = StringField("Website", validators=[URL()]) - birthday = DateField("Your Birthday") - recaptcha = RecaptchaField() - submit = SubmitField("Submit") \ No newline at end of file diff --git a/admin/resources.py b/admin/resources.py index 6bc5a52..f26ce7e 100644 --- a/admin/resources.py +++ b/admin/resources.py @@ -19,10 +19,8 @@ from sqlalchemy.exc import UnsupportedCompilationError -from passlib.handlers.sha2_crypt import sha512_crypt from admin.models import Admin, Deployments -from admin.models.admin_model import Admin as AdminObject from admin.models.table_model import Table as TableModel from admin.models.database_model import Database as DatabaseObject from admin.models.email_notifications import EmailNotify @@ -36,18 +34,15 @@ foreign_key_options, relationship_validation, ) - from admin.export.exportapp import ( check_if_exist, ) - +from admin.admin_forms import * from admin.resource_helper import * from app.utils import AlchemyEncoder, verify_jwt -from templates.models import metadata -from dbs import DB_DICT +from templates.models import metadata -ALGORITHM = sha512_crypt mod_admin = Blueprint( "admin", @@ -143,109 +138,6 @@ def get(self, email=None) -> Tuple[Dict[str, str], int]: return {"result": "Admin does not exist."}, 400 - def post(self) -> Tuple[Dict[str, str], int]: - """ - Defines responses for the `/admin/admin_adminprofile` - endpoint - It creates a Admin object from the request body it receives, - checking if all values satisfy the model constraints and then writing - data to the `amin` database. - - Parameters: - ---------- - - name: - in: json body - type: string - required: true - description: Name of the Admin User - - - email: - in: json body - type: string - format: email - required: true - description: E-mail id (unique) corresponding to the user - - - password: - in : json body - type: string - format: length - required: true - - Returns: - ------- - json serializable dict - integer response code - - responses: - - 200 - description: Success registering admin - schema: - type: json - parameters: - - result - type: string - - id - type: integer - - email - type: string - format: email - - 400 - description: Error message - schema: - type: json - parameters: - - result - type: string - description: Error message - - 403 - description: Admin already registered - """ - json_request = request.get_json() - if json_request is None: - return {"result": "Error json body cannot be None."}, 400 - - required_keys = {"name", "email", "password"} - - missed_keys = required_keys.difference(json_request.keys()) - - if len(missed_keys) != 0: - return ( - { - "result": "Values for fields cannot be null", - "required values": list(missed_keys), - }, - 400, - ) - - try: - admin = AdminObject.from_dict(json_request) - except ValueError as err: - return {"result": "Error: ".join(err.args)}, 400 - - admin_exists = Admin.query.filter_by(email=admin.email.lower()).first() - if admin_exists is None: - password_hash = ALGORITHM.hash(admin.password) - admin = Admin( - email=admin.email.lower(), - password=password_hash, - name=admin.name, - create_dt=dt.now(), - ) - db.session.add(admin) - db.session.commit() - return ( - { - "result": "Admin created successfully.", - "id": admin.id, - "email": admin.email, - }, - 200, - ) - - else: - return {"result": "Admin already exists."}, 403 - class Login(Resource): """API to login admin.""" diff --git a/admin/static/css/forms.css b/admin/static/css/forms.css index 10e2076..98a44f9 100644 --- a/admin/static/css/forms.css +++ b/admin/static/css/forms.css @@ -1,158 +1,105 @@ -form { - background: white; - width: 100%; -} - -.form-field { - position: relative; - border: 0; - padding: 0; -} - -.container { - padding: 80px; - display: flex; - justify-content: space-around; -} - -@media(max-width: 500px) { - .container { - padding: 0; - } -} - -.title { - font-size: 1.7rem; - color: #5f6988; - font-weight: 300; - border-bottom: 1px solid #dbe3ec; - padding-bottom: 5px; - margin: 0 0 40px 0; -} +@import './styles/sizes.css'; +@import './styles/colors.css'; +@import './styles/borders.css'; +@import './styles/display.css'; +@import './styles/typography.css'; +@import './styles/button.css'; +@import './styles/badge.css'; +@import './styles/input.css'; +@import './styles/select.css'; +@import './styles/anchor.css'; +@import './styles/avatar.css'; +@import './styles/radio-checkbox-switch.css'; +@import './styles/scrollbar.css'; +@import './styles/card.css'; +@import './styles/tabs.css'; +@import './styles/table.css'; +@import './styles/list.css'; + +body { + background: rgba(0, 0, 0, .9); + position: fixed; + display: flex; + justify-content: center; + align-items: center; + height: 100vh; + width: 100vw; + top: 0; + left: 0; + z-index: 999; + } -.form-wrapper { - background: white; - width: 350px; - box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); - padding: 40px; +form { + font-family: 'Fira Code', monospace; + border-radius: var(--rounded-2xl); + border-color: var(--accentColor); + border-style: solid; + border-width: 2px; + padding-top: 24px; + padding-right: 32px; + padding-bottom: 24px; + padding-left: 32px; + color: car(--accentColor) } -label { - font-size: .9em; - color: #5f6988; - margin-bottom: 3px; - display: block; - font-weight: 300; +.form-field{ + border: none; + text-align: right; } -input, textarea, select { - padding: 10px 13px; - margin-bottom: 15px; - width: -webkit-fill-available; - width: -moz-available; - border-radius: 2px; - border: 1px solid #d4d9e3; - font-weight: 200; - color: #4d5060; - font-family: 'Poppins', sans-serif; - transition: all .3s ease-out; - font-size: .9em; - outline-color: transparent; - outline-style: none; -} +.formHolder{ + text-align: center; + /* + box-shadow: -3px var(--glow-spacing-x) var(--glow-spacing-y) var(--glowColor); + */ + border-width: var(--border-size); + border-style: transparent; + background-color: var(--pink-purple); -select { - -webkit-appearance: none; } -select::after { - content: "hello"; - width: 0; - height: 0; - border-left: 20px solid transparent; - border-right: 20px solid transparent; - display: block; - border-top: 20px solid #f00; +.formInput{ + border: none; + outline:none; + background-color: #242424; + text-align: center; + border-radius: var(--rounded-2xl); + color: var(--purple); } -input[type="text"]::placeholder { - color: #d4d9e3; +.formLabel{ + boarder: none; + color: var(--accentColor); } -input[type="text"]:hover, -input[type="password"]:hover, -textarea:hover, -select:hover { - border-color: #5eb9d7; - background: #d9f6ff; -} +.errorMessage{ + border-color: #464646; + border-radius: var(--rounded-2xl); + background-color: var(--accentColor); + text-align: center; + align-items: center; + text-color: var(--black); -input[type="text"]:focus, -input[type="password"]:focus, -textarea:focus { - background: white; - border-color: #5eb9d7; - box-shadow: unset; } -input[type="submit"], -button { - background: #5eb9d7; - color: white; - border-radius: 2px; - margin-top: 15px; - font-weight: 400; - border: 1px solid #5eb9d7; - line-height: 1; - transition: all .3s ease-out; -} -input[type="submit"]:hover, -button:hover { - cursor: pointer; - background: white; - color: #5eb9d7; - padding: 13px !important; -} -.success-wrapper { - background: white; - width: 350px; - box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); - padding: 50px; -} +.close { + position: absolute; + align-items: center; + background-color: var(--accentColor); -.errors { - list-style: none; - margin: -15px 0 20px; - font-size: .8em; - text-align: left; - width: -webkit-fill-available; - width: -moz-available; - background: #fae7ea; - padding: 9px 15px; - border-radius: 0 0 3px 3px; - border-top: 0; - border: 1px solid #e1c5c5; - color: #8d7575; - height: fit-content; } -.error { - margin-bottom: 5px; -} -.error:last-of-type { - margin-bottom: 0; +.close:before, .close:after { + position: absolute; + content: ' '; + background-color: var(--accentColor); } - -i { - height: 15px; - color: #8d7575; - margin-right: 5px; - font-size: .9em; +.close:before { +transform: rotate(45deg); } - -.g-recaptcha div { - margin: auto; +.close:after { +transform: rotate(-45deg); } \ No newline at end of file diff --git a/admin/static/css/styles/anchor.css b/admin/static/css/styles/anchor.css new file mode 100644 index 0000000..9efab3e --- /dev/null +++ b/admin/static/css/styles/anchor.css @@ -0,0 +1,31 @@ +.anchor { + text-decoration: none; +} + +@each $color in black, white, cyan, green, orange, pink, purple, red, yellow { + .text-$(color)--hover:hover { + color: var(--$(color)); + } + + .text-$(color)-secondary--hover:hover { + color: var(--$(color)Secondary); + } +} + +@each $from, $to in (purple, yellow, cyan, pink), (cyan, pink, green, purple) { + .text-$(from)-$(to)--hover:hover { + background-image: linear-gradient( + var(--gradientDegree), + var(--$(from)) 0%, + var(--$(to)) 100% + ); + + background-size: 100%; + background-clip: text; + + -webkit-background-clip: text; + -moz-background-clip: text; + -webkit-text-fill-color: transparent; + -moz-text-fill-color: transparent; + } +} \ No newline at end of file diff --git a/admin/static/css/styles/app.css b/admin/static/css/styles/app.css new file mode 100644 index 0000000..6caed19 --- /dev/null +++ b/admin/static/css/styles/app.css @@ -0,0 +1,17 @@ +@import './sizes.css'; +@import './colors.css'; +@import './borders.css'; +@import './display.css'; +@import './typography.css'; +@import './button.css'; +@import './badge.css'; +@import './input.css'; +@import './select.css'; +@import './anchor.css'; +@import './avatar.css'; +@import './radio-checkbox-switch.css'; +@import './scrollbar.css'; +@import './card.css'; +@import './tabs.css'; +@import './table.css'; +@import './list.css'; diff --git a/admin/static/css/styles/avatar.css b/admin/static/css/styles/avatar.css new file mode 100644 index 0000000..96dbd11 --- /dev/null +++ b/admin/static/css/styles/avatar.css @@ -0,0 +1,54 @@ +:root { + --subtle-avatar-shadow: inset 0 0 0.5rem 0.5rem rgba(0, 0, 0, 0.5); +} + +/** Defines an avatar */ +.avatar { + box-sizing: border-box; + border-radius: var(--rounded-full); + border-style: solid; + border-width: 1px; + + text-transform: uppercase; + + height: 4.4rem; + width: 4.5rem; + + display: flex; + justify-content: center; + align-items: center; +} + +.avatar-background { + background-repeat: no-repeat; + background-position: center; + background-size: cover; + + box-sizing: border-box; + border-radius: var(--rounded-full); + + display: 'inline-block'; + height: 100%; + width: 100%; +} + +.avatar-lg-stroke { + border-width: 3px; +} + +.avatar-no-border { + border-width: 0; + box-shadow: var(--subtle-avatar-shadow); +} + +.avatar-subtle { + filter: grayscale(100%); + box-shadow: var(--subtle-avatar-shadow); +} + +.avatar .text { + text-transform: uppercase; + + /* Fira code is adding 1px to the bottom of the span */ + transform: translateY(1px); +} diff --git a/admin/static/css/styles/badge.css b/admin/static/css/styles/badge.css new file mode 100644 index 0000000..93b19c4 --- /dev/null +++ b/admin/static/css/styles/badge.css @@ -0,0 +1,22 @@ +.badge { + padding: 1rem 1.5rem; + border: none; + border-radius: var(--rounded-lg); + text-transform: uppercase; + background-color: var(--accentColor); +} + +.badge .text { + text-transform: uppercase; +} + +.badge-subtle { + border-width: var(--border-size); + border-style: solid; +} + +.badge-outline { + border-width: var(--border-size); + border-style: solid; + background-color: transparent; +} diff --git a/admin/static/css/styles/borders.css b/admin/static/css/styles/borders.css new file mode 100644 index 0000000..8161dce --- /dev/null +++ b/admin/static/css/styles/borders.css @@ -0,0 +1,54 @@ +:root { + --border-size: 0.1rem; + --rounded-none: 0; + --rounded-sm: 0.125rem; + --rounded: 0.25rem; + --rounded-md: 0.375rem; + --rounded-lg: 0.5rem; + --rounded-xl: 0.75rem; + --rounded-2xl: 1rem; + --rounded-3xl: 1.5rem; + --rounded-full: 9999px; +} + +@each $color in black, white, cyan, green, orange, pink, purple, red, yellow { + .border-$(color) { + border-color: var(--$(color)); + } +} + +.rounded-none { + border-radius: var(--rounded-none); +} + +.rounded-sm { + border-radius: var(--rounded-sm); +} + +.rounded { + border-radius: var(--rounded); +} + +.rounded-md { + border-radius: var(--rounded-md); +} + +.rounded-lg { + border-radius: var(--rounded-lg); +} + +.rounded-xl { + border-radius: var(--rounded-xl); +} + +.rounded-2xl { + border-radius: var(--rounded-2xl); +} + +.rounded-3xl { + border-radius: var(--rounded-3xl); +} + +.rounded-full { + border-radius: var(--rounded-full); +} \ No newline at end of file diff --git a/admin/static/css/styles/button.css b/admin/static/css/styles/button.css new file mode 100644 index 0000000..681e44f --- /dev/null +++ b/admin/static/css/styles/button.css @@ -0,0 +1,138 @@ +.btn { + appearance: none; + border: none; + border-radius: var(--rounded-lg); + box-sizing: border-box; + text-align: center; + text-decoration: none; + display: inline-block; + cursor: pointer; +} + +.btn:active, +.btn:focus { + opacity: 0.75; + box-shadow: -4px -4px 1px rgba(255, 255, 255, 0.3) inset; + outline: 0; +} + +.btn:disabled { + background-color: var(--disabled); + cursor: not-allowed; + color: var(--black); +} + +.btn:not(:disabled):hover { + opacity: 0.75; + box-shadow: 4px 4px rgba(255, 255, 255, 0.1); +} + +.btn:not(:disabled):disabled:hover { + box-shadow: none; +} + +.btn-outline { + border-width: var(--border-size); + border-style: solid; + background-color: transparent; +} + +.btn-outline:disabled { + background-color: transparent; + border-color: var(--disabled); + color: var(--disabled); +} + +.btn-outline:disabled .text { + color: var(--disabled); +} + +.btn-ghost:not(:disabled):hover { + background-color: rgba(255, 255, 255, 0.1); + box-shadow: none; +} + +.btn-ghost:active, +.btn-ghost:focus { + background-color: rgba(255, 255, 255, 0.1); + box-shadow: none; +} + +.btn-ghost:disabled { + background-color: var(--disabled); + color: var(--black); +} + +.btn-ghost:disabled .text { + color: var(--black); +} + +.btn-ghost-purple { + background-color: var(--purple); + border-color: #464646; + border-width: 4px; + padding-top: 5px; + padding-right: 50px; + padding-bottom: 5px; + padding-left: 50px; + border-radius: var(--rounded-2xl); +} + + +.btn-ghost-purple:not(:disabled):hover { + background-color: var(--purple); + border-color: var(--purple); + box-shadow: none; + border-radius: var(--rounded-2xl); + +} + +.btn-ghost-purple:active, +.btn-ghost-purple:focus { + background: #464646; + color: var(--purple); + box-shadow: none; +} + +.btn-ghost-purple:disabled { + background: #464646; + color: var(--purple-transparent); +} + +.btn-ghost-purple:disabled .text { + color: #464646; +} + +/* Sizes */ + +.btn.btn-xs { + padding: 0 var(--spacing-2); + line-height: var(--spacing-6); + height: var(--spacing-6); + min-width: var(--spacing-6); + font-size: var(--font-xs); +} + +.btn.btn-sm { + padding: 0 var(--spacing-3); + line-height: var(--spacing-8); + height: var(--spacing-8); + min-width: var(--spacing-8); + font-size: var(--font-sm); +} + +.btn { + padding: 0 var(--spacing-4); + line-height: var(--spacing-10); + height: var(--spacing-10); + min-width: var(--spacing-10); + font-size: var(--font-md); +} + +.btn.btn-lg { + padding: 0 var(--spacing-6); + line-height: var(--spacing-12); + height: var(--spacing-12); + min-width: var(--spacing-12); + font-size: var(--font-lg); +} diff --git a/admin/static/css/styles/card.css b/admin/static/css/styles/card.css new file mode 100644 index 0000000..89cfb74 --- /dev/null +++ b/admin/static/css/styles/card.css @@ -0,0 +1,12 @@ +.card { + border-radius: var(--rounded-lg); + box-shadow: -2px var(--glow-spacing-x) var(--glow-spacing-y) var(--glowColor); + background-color: var(--accentColor); +} + +.card-subtle { + box-shadow: none; + background: none; + border-width: 2px; + border-style: solid; +} diff --git a/admin/static/css/styles/colors.css b/admin/static/css/styles/colors.css new file mode 100644 index 0000000..7e6ee03 --- /dev/null +++ b/admin/static/css/styles/colors.css @@ -0,0 +1,170 @@ +:root { + --black: hsl(230, 15%, 15%); + --blackSecondary: hsl(230, 15%, 30%); + --blackTernary: hsl(230, 15%, 70%); + --blackLight: hsla(230, 15%, 15%, 5%); + + --white: hsl(60, 30%, 96%); + --whiteSecondary: hsl(60, 30%, 100%); + --whiteLight: hsla(60, 30%, 96%, 5%); + + --cyan: hsl(170, 100%, 75%); + --cyanSecondary: hsl(170, 100%, 90%); + --cyanLight: hsla(170, 100%, 75%, 5%); + + --green: hsl(115, 100%, 75%); + --greenSecondary: hsl(115, 100%, 90%); + --greenLight: hsla(115, 100%, 75%, 5%); + + --orange: hsl(35, 100%, 75%); + --orangeSecondary: hsl(35, 100%, 90%); + --orangeLight: hsla(35, 100%, 75%, 5%); + + --pink: hsl(330, 100%, 75%); + --pinkSecondary: hsl(330, 100%, 90%); + --pinkLight: hsla(330, 100%, 75%, 5%); + + --purple: hsl(250, 100%, 75%); + --purpleSecondary: hsl(250, 100%, 90%); + --purpleLight: hsl(250, 100%, 75%, 5%); + + --red: hsl(10, 100%, 75%); + --redSecondary: hsl(10, 100%, 90%); + --redLight: hsla(10, 100%, 75%, 5%); + + --yellow: hsl(60, 100%, 75%); + --yellowSecondary: hsl(60, 100%, 90%); + --yellowLight: hsla(60, 100%, 75%, 5%); + + --cyan-transparent: hsl(170, 100%, 75%, 0.1); + --green-transparent: hsl(115, 100%, 75%, 0.1); + --orange-transparent: hsl(35, 100%, 75%, 0.1); + --pink-transparent: hsl(330, 100%, 75%, 0.1); + --purple-transparent: hsl(250, 100%, 75%, 0.1); + --red-transparent: hsl(10, 100%, 75%, 0.1); + --yellow-transparent: hsl(60, 100%, 75%, 0.1); + + --disabled: hsl(230, 15%, 50%); + --gradientDegree: 135deg; + + --pink-purple: linear-gradient( var(--gradientDegree), var(--pink) 0%, var(--purple) 100%,); + --glowColor: rgba(255, 255, 255, 0.25); + + @each $opacity in 10, 20, 30, 40, 50, 60, 70, 80, 90 { + --cyan-$(opacity)0: hsl(170, 100%, 75%, 0.$(opacity)); + --green-$(opacity)0: hsl(115, 100%, 75%, 0.$(opacity)); + --orange-$(opacity)0: hsl(35, 100%, 75%, 0.$(opacity)); + --pink-$(opacity)0: hsl(330, 100%, 75%, 0.$(opacity)); + --purple-$(opacity)0: hsl(250, 100%, 75%, 0.$(opacity)); + --red-$(opacity)0: hsl(10, 100%, 75%, 0.$(opacity)); + --yellow-$(opacity)0: hsl(60, 100%, 75%, 0.$(opacity)); + } + + --accentColor: var(--purple); + + @each $from, $to in (purple, yellow, cyan, pink), (cyan, pink, green, purple) + { + --$(from)-$(to): linear-gradient( + var(--gradientDegree), + var(--$(from)) 0%, + var(--$(to)) 100% + ); + } +} + +@each $from, $to in (purple, yellow, cyan, pink), (cyan, pink, green, purple) { + .bg-$(from)-$(to) { + background: linear-gradient( + var(--gradientDegree), + var(--$(from)) 0%, + var(--$(to)) 100% + ); + } + + .bg-$(from)-$(to)-transparent { + background: linear-gradient( + var(--gradientDegree), + var(--$(from)-transparent) 0%, + var(--$(to)-transparent) 100% + ); + } + + .text-$(from)-$(to) { + background-image: linear-gradient( + var(--gradientDegree), + var(--$(from)) 0%, + var(--$(to)) 100% + ); + + background-size: 100%; + background-clip: text; + + -webkit-background-clip: text; + -moz-background-clip: text; + -webkit-text-fill-color: transparent; + -moz-text-fill-color: transparent; + -webkit-box-decoration-break: clone; + } +} + +@each $color in black, white, cyan, green, orange, pink, purple, red, yellow { + .bg-$(color) { + background-color: var(--$(color)); + } + + .bg-$(color)-secondary { + --accentColor: var(--$(color)Secondary); + background-color: var(--$(color)Secondary); + } + + .bg-$(color)-transparent { + --accentColor: var(--$(color)-transparent); + background-color: var(--$(color)-transparent); + } + + .text-$(color) { + color: var(--$(color)); + } + + .text-$(color)-secondary { + color: var(--$(color)Secondary); + } + + .glow-$(color) { + background-color: var(--$(color)); + --glowColor: var(--$(color)); + } + + .border-$(color) { + border-color: var(--$(color)); + --borderColor: var(--$(color)); + } +} + +.bg-animated { + content: ''; + animation: animatedGradient 6s ease infinite alternate; + background-size: 300% 300%; + background-image: linear-gradient( + var(--gradientDegree), + var(--orange), + var(--yellow), + var(--red), + var(--pink), + var(--purple), + var(--cyan), + var(--green) + ); +} + +@keyframes animatedGradient { + 0% { + background-position: 0 50%; + } + 50% { + background-position: 100% 50%; + } + to { + background-position: 0 50%; + } +} diff --git a/admin/static/css/styles/display.css b/admin/static/css/styles/display.css new file mode 100644 index 0000000..00fb12d --- /dev/null +++ b/admin/static/css/styles/display.css @@ -0,0 +1,18 @@ +:root { + --display-none: none; + --display-block: block; + --display-flex: flex; + --display-grid: grid; + --display-table: table; + --display-inline: inline; + --display-inline-block: inline-block; + --display-inline-flex: inline-flex; + --display-inline-grid: inline-grid; + --display-inline-table: inline-table; +} + +@each $var in none, block, flex, grid, table, inline, inline-block, inline-flex, inline-grid, inline-table { + .d-$(var) { + display: var(--display-$(var)); + } +} \ No newline at end of file diff --git a/admin/static/css/styles/input.css b/admin/static/css/styles/input.css new file mode 100644 index 0000000..76c7064 --- /dev/null +++ b/admin/static/css/styles/input.css @@ -0,0 +1,67 @@ +.input { + border-radius: var(--rounded-lg); + box-sizing: border-box; + width: 100%; + outline: none; + background: var(--blackSecondary); + border: 0.3rem solid transparent; + transition: 0.3s ease-in-out all; + -webkit-appearance: textfield; +} + +.input:focus { + border-color: var(--white); +} + +.input::placeholder { + color: var(--blackTernary); +} + +.input-outline { + background: transparent; + border-color: var(--blackTernary); +} + +@each $color in black, blackSecondary, white, cyan, green, orange, pink, purple, + red, yellow +{ + .input-outline.input-$(color), + .input-outline.input-$(color):focus, + .input.input-$(color):focus { + border-color: var(--$(color)); + } +} + +/* Sizes */ + +.input.input-sm { + padding: 0 var(--spacing-3); + height: var(--spacing-8); + font-size: var(--font-sm); +} + +.input { + padding: 0 var(--spacing-4); + height: var(--spacing-10); + font-size: var(--font-md); +} + +.input.input-lg { + padding: 0 var(--spacing-6); + height: var(--spacing-12); + font-size: var(--font-lg); +} + +/* Border Sizes */ + +.input.input-border-sm { + border-width: 0.1rem; +} + +.input.input-border-md { + border-width: 0.2rem; +} + +.input.input-border-lg { + border-width: 0.3rem; +} diff --git a/admin/static/css/styles/list.css b/admin/static/css/styles/list.css new file mode 100644 index 0000000..b513371 --- /dev/null +++ b/admin/static/css/styles/list.css @@ -0,0 +1,40 @@ +.list { + list-style: none; +} + +.list-unordered li::before { + content: "—"; + padding-right: 10px; +} + +.list-ordered { + counter-reset: li; +} + +.list-ordered li { + counter-increment: li; + margin-left: -30px; +} + +.list-ordered li::before { + content: counter(li)'.'; + display: inline-block; + margin-left: 15px; + padding-right: 5px; + text-align: right; + width: 30px; + color: var(--accentColor); +} + +@each $color in black, blackSecondary, white, cyan, green, orange, pink, purple, red, yellow { + .list-$(color).list-unordered li::before, + .list-$(color).list-ordered li::before { + color: var(--$(color)); + } +} + +.list-none { + list-style: none; + margin-left: 0; + padding-left: 0; +} \ No newline at end of file diff --git a/admin/static/css/styles/radio-checkbox-switch.css b/admin/static/css/styles/radio-checkbox-switch.css new file mode 100644 index 0000000..932bd92 --- /dev/null +++ b/admin/static/css/styles/radio-checkbox-switch.css @@ -0,0 +1,237 @@ +.checkbox, +.radio { + --active-inner: var(--white); + --background: var(--white); + --disabled: var(--blackSecondary); + --disabled-inner: var(--blackTernary); + --local-bg-color: var(--border-hover); + appearance: none; + height: 21px; + outline: none; + display: inline-block; + vertical-align: top; + position: relative; + margin: 0; + cursor: pointer; + border: 1px solid var(--local-bg-color, var(--border)); + transition: background 0.3s, border-color 0.3s, box-shadow 0.2s; +} + +.checkbox:after, +.radio:after { + content: ''; + display: block; + left: 0; + top: 0; + position: absolute; + transition: transform var(--local-transform-speed, 0.3s) + var(--local-transform-effect, ease), + opacity var(--local-opacity-speed, 0.2s); +} + +.checkbox:checked { + background: var(--local-bg, var(--background)); +} + +.checkbox:checked, +.radio:checked { + --local-bg: var(--active); + --local-bg-color: var(--active); + --local-opacity-speed: 0.3s; + --local-transform-speed: 0.6s; + --local-transform-effect: cubic-bezier(0.2, 0.85, 0.32, 1.2); +} + +.checkbox:disabled, +.radio:disabled { + --local-bg: var(--disabled); + cursor: not-allowed; + opacity: 0.9; +} + +.checkbox:disabled:checked, +.radio:disabled:checked { + --local-bg: var(--disabled-inner); + --local-bg-color: var(--border); +} + +.checkbox:disabled + label, +.radio:disabled + label { + cursor: not-allowed; +} + +.checkbox:focus, +.radio:focus { + box-shadow: 0 0 0 var(--focus); +} + +.checkbox:not(.switch), +.radio:not(.switch) { + width: 21px; +} + +.checkbox:not(.switch):after, +.radio:not(.switch):after { + opacity: var(--local-opacity, 0); +} + +.checkbox:not(.switch):checked, +.radio:not(.switch):checked { + --local-opacity: 1; +} + +.checkbox + label, +.radio + label { + font-size: 14px; + line-height: 21px; + display: inline-block; + vertical-align: top; + cursor: pointer; + margin-left: 4px; +} + +.checkbox:not(.switch) { + border-radius: 7px; +} + +.checkbox:not(.switch):after { + width: 5px; + height: 9px; + border: 2px solid var(--black); + border-top: 0; + border-left: 0; + left: 6px; + top: 2px; + transform: rotate(var(--local-rotation, 20deg)); +} + +.checkbox:not(.switch):checked { + --local-rotation: 43deg; +} + +.checkbox.switch { + width: 38px; + border-radius: 11px; +} + +.checkbox.switch:after { + left: 2px; + top: 2px; + border-radius: 50%; + width: 15px; + height: 15px; + background: var(--ab, var(--active-inner)); + transform: translateX(var(--x, 0)); +} + +.checkbox.switch:checked { + background: none; + --ab: var(--active); + --x: 17px; +} + +.checkbox.switch:disabled:not(:checked):after { + opacity: 0.6; +} + +.radio { + border-radius: 50%; +} + +.radio:after { + width: 19px; + height: 19px; + border-radius: 50%; + background: var(--local-bg-color); + opacity: 0; + transform: scale(var(--scale)); +} + +.radio:disabled:checked:after { + background: var(--disabled-inner); +} + +.radio:checked { + --scale: 0.8; +} + +.radio-black, +.switch-black, +.checkbox-black { + --active: var(--black); + --focus: var(--blackSecondary); + --border: var(--blackSecondary); + --border-hover: var(--black); +} + +.radio-white, +.switch-white, +.checkbox-white { + --active: var(--white); + --focus: var(--whiteSecondary); + --border: var(--whiteSecondary); + --border-hover: var(--white); +} + +.radio-cyan, +.switch-cyan, +.checkbox-cyan { + --active: var(--cyan); + --focus: var(--cyanSecondary); + --border: var(--cyanSecondary); + --border-hover: var(--cyan); +} + +.radio-green, +.switch-green, +.checkbox-green { + --active: var(--green); + --focus: var(--greenSecondary); + --border: var(--greenSecondary); + --border-hover: var(--green); +} + +.radio-orange, +.switch-orange, +.checkbox-orange { + --active: var(--orange); + --focus: var(--orangeSecondary); + --border: var(--orangeSecondary); + --border-hover: var(--orange); +} + +.radio-pink, +.switch-pink, +.checkbox-pink { + --active: var(--pink); + --focus: var(--pinkSecondary); + --border: var(--pinkSecondary); + --border-hover: var(--pink); +} + +.radio-purple, +.switch-purple, +.checkbox-purple { + --active: var(--purple); + --focus: var(--purpleSecondary); + --border: var(--purpleSecondary); + --border-hover: var(--purple); +} + +.radio-red, +.switch-red, +.checkbox-red { + --active: var(--red); + --focus: var(--redSecondary); + --border: var(--redSecondary); + --border-hover: var(--red); +} + +.radio-yellow, +.switch-yellow, +.checkbox-yellow { + --active: var(--yellow); + --focus: var(--yellowSecondary); + --border: var(--yellowSecondary); + --border-hover: var(--yellow); +} diff --git a/admin/static/css/styles/scrollbar.css b/admin/static/css/styles/scrollbar.css new file mode 100644 index 0000000..f4b5f6e --- /dev/null +++ b/admin/static/css/styles/scrollbar.css @@ -0,0 +1,44 @@ +@each $color in cyan, green, orange, pink, purple, red, yellow { + .scrollbar-$(color) { + --drac-scrollbar-bg: transparent; + --drac-scrollbar-border: var(--$(color)Light); + --drac-scrollbar-thumb: var(--$(color)); + --drac-scrollbar-thumb-hover: var(--$(color)Secondary); + overflow: auto; + } + + .scrollbar-$(color)::-webkit-scrollbar { + width: 1.4rem; + height: 1.4rem; + background-color: var(--drac-scrollbar-bg); + } + + .scrollbar-$(color)::-webkit-scrollbar-track:horizontal { + border-top: 0.0625rem solid var(--drac-scrollbar-border); + } + + .scrollbar-$(color)::-webkit-scrollbar-track:vertical { + border-left: 0.0625rem solid var(--drac-scrollbar-border); + } + + .scrollbar-$(color)::-webkit-scrollbar-corner { + background-color: transparent; + border-top: 0.0625rem solid var(--drac-scrollbar-border); + border-left: 0.0625rem solid var(--drac-scrollbar-border); + } + + .scrollbar-$(color)::-webkit-scrollbar-thumb { + min-width: 3rem; + min-height: 3rem; + border-radius: 1rem; + border: 0.4rem solid transparent; + background-clip: content-box; + background-color: var(--drac-scrollbar-thumb); + -moz-background-clip: content; + -webkit-background-clip: content; + } + + .scrollbar-$(color)::-webkit-scrollbar-thumb:hover { + background-color: var(--drac-scrollbar-thumb-hover); + } +} \ No newline at end of file diff --git a/admin/static/css/styles/select.css b/admin/static/css/styles/select.css new file mode 100644 index 0000000..dd9a2ea --- /dev/null +++ b/admin/static/css/styles/select.css @@ -0,0 +1,151 @@ +.select { + border-color: var(--accentColor); + border-radius: var(--rounded-lg); + background: var(--blackSecondary); + border: 0.3rem solid transparent; + box-sizing: border-box; + color: var(--white); + transition: 0.3s ease-in-out all; + appearance: none; + outline: none; + position: relative; + width: 100%; +} + +.select::before { + border-style: solid; + border-width: 0.25rem 0.25rem 0 0; + content: ''; + display: inline-block; + height: 0.45rem; + left: 0.15rem; + position: relative; + top: 0.15rem; + transform: rotate(-45deg); + vertical-align: top; + width: 0.45rem; + left: 0; + transform: rotate(45deg); + background-color: white; +} + +.select:focus { + border-color: var(--white); +} + +.select::placeholder { + color: var(--blackTernary); +} + +.select:disabled { + background: var(--blackTernary); + color: var(--black); + cursor: not-allowed; + opacity: 0.5; +} + +.select-outline:disabled { + color: var(--white); +} + +.select-outline, +.select-outline:disabled { + background: transparent; + border-color: var(--blackTernary); +} + +.select-arrow { + position: absolute; + display: inline-flex; + width: var(--spacing-8); + height: 100%; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + right: var(--spacing-2); + top: 50%; + pointer-events: none; + z-index: 2; + transform: translateY(-50%); +} + +.select-arrow svg { + width: 3.6rem; + height: 3.6rem; + fill: currentColor; +} + +.select:disabled + .select-arrow { + color: var(--black); +} + +.select-outline:disabled + .select-arrow { + color: var(--white); + opacity: 0.5; +} + +.select-outline.select-black, +.select-outline.select-black:focus, +.select.select-black:focus { + border-color: var(--black); +} +.select-outline.select-white, +.select-outline.select-white:focus, +.select.select-white:focus { + border-color: var(--white); +} +.select-outline.select-cyan, +.select-outline.select-cyan:focus, +.select.select-cyan:focus { + border-color: var(--cyan); +} +.select-outline.select-green, +.select-outline.select-green:focus, +.select.select-green:focus { + border-color: var(--green); +} +.select-outline.select-orange, +.select-outline.select-orange:focus, +.select.select-orange:focus { + border-color: var(--orange); +} +.select-outline.select-pink, +.select-outline.select-pink:focus, +.select.select-pink:focus { + border-color: var(--pink); +} +.select-outline.select-purple, +.select-outline.select-purple:focus, +.select.select-purple:focus { + border-color: var(--purple); +} +.select-outline.select-red, +.select-outline.select-red:focus, +.select.select-red:focus { + border-color: var(--red); +} +.select-outline.select-yellow, +.select-outline.select-yellow:focus, +.select.select-yellow:focus { + border-color: var(--yellow); +} + +/* Sizes */ + +.select.select-sm { + height: var(--spacing-8); + font-size: var(--font-sm); +} + +.select { + height: var(--spacing-10); + font-size: var(--font-md); + padding-left: var(--spacing-4); + padding-right: var(--spacing-8); +} + +.select.select-lg { + height: var(--spacing-12); + font-size: var(--font-lg); +} diff --git a/admin/static/css/styles/sizes.css b/admin/static/css/styles/sizes.css new file mode 100644 index 0000000..76aaa7d --- /dev/null +++ b/admin/static/css/styles/sizes.css @@ -0,0 +1,136 @@ +:root { + --spacing-auto: auto; + --spacing-xxs: 0.375rem; + --spacing-xs: 0.5rem; + --spacing-sm: 1rem; + --spacing-md: 2rem; + --spacing-lg: 4rem; + + --sizing-auto: auto; + --sizing-none: none; + --sizing-full: 100%; + --sizing-xxs: 16rem; /* 256px */ + --sizing-xs: 20rem; /* 320px */ + --sizing-sm: 24rem; /* 384px */ + --sizing-md: 28rem; /* 448px */ + --sizing-lg: 32rem; /* 512px */ + --sizing-xl: 36rem; /* 576px */ + --sizing-2xl: 40rem; /* 640px */ + --sizing-3xl: 48rem; /* 768px */ + --sizing-4xl: 56rem; /* 896px */ + --sizing-5xl: 64rem; /* 1024px */ + --sizing-6xl: 72rem; /* 1152px */ + --sizing-7xl: 80rem; /* 1280px */ + --sizing-8xl: 90rem; /* 1440px */ + + --glow-spacing-x: var(--spacing-md); + --glow-spacing-y: var(--spacing-lg); +} + +/* TODO: refactor to use semantic scale */ +:root { + --spacing-1: 0.25rem; /* 4px */ + --spacing-2: 0.5rem; /* 8px */ + --spacing-3: 0.75rem; /* 12px */ + --spacing-4: 1rem; /* 16px */ + --spacing-5: 1.25rem; /* 20px */ + --spacing-6: 1.5rem; /* 24px */ + --spacing-8: 2rem; /* 32px */ + --spacing-10: 2.5rem; /* 40px */ + --spacing-12: 3rem; /* 48px */ + --spacing-16: 4rem; /* 64px */ + --spacing-20: 5rem; /* 80px */ + --spacing-24: 6rem; /* 96px */ + --spacing-32: 8rem; /* 128px */ + --spacing-40: 10rem; /* 160px */ + --spacing-48: 12rem; /* 192px */ + --spacing-56: 14rem; /* 224px */ + --spacing-64: 16rem; /* 256px */ +} + +.box { + box-sizing: border-box; +} + +.box h1, +.box h2, +.box h3, +.box h4 { + margin: 0; +} + +@each $size in none, xxs, xs, sm, md, lg { + .p-$(size) { + padding: var(--spacing-$(size)); + } + + .px-$(size) { + padding-left: var(--spacing-$(size)); + padding-right: var(--spacing-$(size)); + } + + .py-$(size) { + padding-top: var(--spacing-$(size)); + padding-bottom: var(--spacing-$(size)); + } + + .pl-$(size) { + padding-left: var(--spacing-$(size)); + } + + .pr-$(size) { + padding-right: var(--spacing-$(size)); + } + + .pt-$(size) { + padding-top: var(--spacing-$(size)); + } + + .pb-$(size) { + padding-bottom: var(--spacing-$(size)); + } +} + +@each $size in auto, none, xxs, xs, sm, md, lg { + .m-$(size) { + margin: var(--spacing-$(size)); + } + + .mx-$(size) { + margin-left: var(--spacing-$(size)); + margin-right: var(--spacing-$(size)); + } + + .my-$(size) { + margin-top: var(--spacing-$(size)); + margin-bottom: var(--spacing-$(size)); + } + + .ml-$(size) { + margin-left: var(--spacing-$(size)); + } + + .mr-$(size) { + margin-right: var(--spacing-$(size)); + } + + .mt-$(size) { + margin-top: var(--spacing-$(size)); + } + + .mb-$(size) { + margin-bottom: var(--spacing-$(size)); + } +} + +/* -- Height & Width -- */ + +@each $size in auto, none, full, xxs, xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl, 7xl, 8xl { + .h-$(size) { + height: var(--sizing-$(size)); + } + + .w-$(size) { + width: var(--sizing-$(size)); + } +} \ No newline at end of file diff --git a/admin/static/css/styles/table.css b/admin/static/css/styles/table.css new file mode 100644 index 0000000..9eb13a5 --- /dev/null +++ b/admin/static/css/styles/table.css @@ -0,0 +1,35 @@ +.table { + border-collapse: collapse; + width: 100%; + + border-color: var(--accentColor); +} + +.table th { + font-weight: 500; + text-align: left; + text-transform: uppercase; + padding-bottom: .2rem; +} + +.table td { + border-color: var(--disabled); + border-width: 0.1rem; + border-style: solid; + padding: 0.5rem; +} + +@each $color in black, white, cyan, green, orange, pink, purple, red, yellow { + + .table.table-$(color) td { + border-color: var(--$(color)); + } + + .table-striped.table-$(color) tr:nth-child(even) { + background-color: var(--$(color)Light); + } +} + +.table.table-striped tr:nth-child(even) { + background-color: var(--whiteLight); +} diff --git a/admin/static/css/styles/tabs.css b/admin/static/css/styles/tabs.css new file mode 100644 index 0000000..69a15fe --- /dev/null +++ b/admin/static/css/styles/tabs.css @@ -0,0 +1,47 @@ +.tabs { + border-bottom: 1px solid var(--disabled); + display: inline-flex; + list-style: none; + padding: 0; +} + +.tab { + padding: var(--spacing-sm) 0; + position: relative; + transition: all .2s ease-in-out; +} + +.tab:after { + background: transparent; + bottom: -1px; + content: ''; + height: 2px; + left: 0; + position: absolute; + right: 0; + transform: scaleX(0.75); + transition: all .2s ease-in-out; + width: 100%; +} + +.tab-link { + color: var(--disabled); + padding: var(--spacing-sm); + text-decoration: none; + transition: color .2s ease-in-out; +} + +.tab:hover .tab-link { + color: var(--white); +} + +@each $color in black, white, cyan, green, orange, pink, purple, red, yellow { + .tabs-$(color) .tab-active:after { + background: var(--$(color)); + transform: scaleX(1); + } + + .tabs-$(color) .tab-active .tab-link { + color: var(--$(color)); + } +} diff --git a/admin/static/css/styles/typography.css b/admin/static/css/styles/typography.css new file mode 100644 index 0000000..4c0e4fb --- /dev/null +++ b/admin/static/css/styles/typography.css @@ -0,0 +1,139 @@ +@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@900&display=swap'); + +:root { + --font-xs: 0.75rem; /* 12px */ + --font-sm: 0.875rem; /* 14px */ + --font-md: 1rem; /* 16px */ + --font-lg: 1.125rem; /* 18px */ + --font-xl: 1.25rem; /* 20px */ + --font-2xl: 1.5rem; /* 24px */ + --font-3xl: 1.875rem; /* 30px */ + --font-4xl: 2.25rem; /* 36px */ + --font-5xl: 3rem; /* 48px */ + --font-6xl: 4rem; /* 64px */ + + --line-height-xs: 1; + --line-height-sm: 1.25; + --line-height-md: 1.375; + --line-height-lg: 1.5; + --line-height-xl: 1.625; + --line-height-2xl: 2; +} + +.heading, +.select, +.input, +.text, +.btn { + font-family: 'Source Sans Pro', monospace; +} + +.heading { + margin: 0; +} + +code { + font-family: 'Source Sans Pro', monospace; + border-radius: var(--rounded-sm); + background: var(--purple-100); + color: var(--purple-900); + padding: 0.1rem 0.3rem; +} + +/* -- Heading -- */ +.heading { + font-size: var(--font-lg); +} + +.heading-2xl { + font-size: var(--font-5xl); +} + +.heading-xl { + font-size: var(--font-2xl); + color: var(--accentColor) +} + +.heading-lg { + font-size: var(--font-xl); +} + +.heading-sm { + font-size: var(--font-md); +} + +.heading-xs { + font-size: var(--font-sm); +} + +/* -- Text -- */ + +.text-bold { + font-weight: bold; +} + +.text-semibold { + font-weight: 600; +} + +/* -- Sizes -- */ + +.text { + font-size: var(--font-md); +} + +.text.text-lg { + font-size: var(--font-lg); +} + +.text.text-sm { + font-size: var(--font-sm); +} + +.text.text-xs { + font-size: var(--font-xs); +} + +/* -- Line Height -- */ + +.line-height { + line-height: var(--line-height-md); +} + +.line-height-2xl { + line-height: var(--line-height-2xl); +} + +.line-height-xl { + line-height: var(--line-height-xl); +} + +.line-height-lg { + line-height: var(--line-height-lg); +} + +.line-height-sm { + line-height: var(--line-height-sm); +} + +.line-height-xs { + line-height: var(--line-height-xs); +} + +/* -- Alignment -- */ + +.text-left { + text-align: left; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.text-justify { + text-align: justify; +} \ No newline at end of file diff --git a/admin/static/css/temp.css b/admin/static/css/temp.css new file mode 100644 index 0000000..42c6acb --- /dev/null +++ b/admin/static/css/temp.css @@ -0,0 +1,153 @@ +.form-field { + position: relative; + border: 0; + padding: 0; + } + + .container { + padding: 80px; + display: flex; + justify-content: space-around; + } + + @media(max-width: 500px) { + .container { + padding: 50; + } + } + + .title { + font-size: 1.7rem; + color: #5f6988; + font-weight: 300; + border-bottom: 1px solid #dbe3ec; + padding-bottom: 5px; + margin: 0 0 40px 0; + } + + .form-wrapper { + background: white; + width: 350px; + box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); + padding: 40px; + } + + label { + font-size: .9em; + color: #5f6988; + margin-bottom: 3px; + display: block; + font-weight: 300; + } + + input, textarea, select { + padding: 10px 13px; + margin-bottom: 15px; + width: -webkit-fill-available; + width: -moz-available; + border-radius: 2px; + border: 1px solid #d4d9e3; + font-weight: 200; + color: #4d5060; + font-family: 'Poppins', sans-serif; + transition: all .3s ease-out; + font-size: .9em; + outline-color: transparent; + outline-style: none; + } + + select { + -webkit-appearance: none; + } + + select::after { + content: "hello"; + width: 0; + height: 0; + border-left: 20px solid transparent; + border-right: 20px solid transparent; + display: block; + border-top: 20px solid #f00; + } + + input[type="text"]::placeholder { + color: #d4d9e3; + } + + input[type="text"]:hover, + input[type="password"]:hover, + textarea:hover, + select:hover { + border-color: #5eb9d7; + background: #d9f6ff; + } + + input[type="text"]:focus, + input[type="password"]:focus, + textarea:focus { + background: white; + border-color: #5eb9d7; + box-shadow: unset; + } + + input[type="submit"], + button { + background: #5eb9d7; + color: white; + border-radius: 2px; + margin-top: 15px; + font-weight: 400; + border: 1px solid #5eb9d7; + line-height: 1; + transition: all .3s ease-out; + } + + input[type="submit"]:hover, + button:hover { + cursor: pointer; + background: white; + color: #5eb9d7; + padding: 13px !important; + } + + .success-wrapper { + background: white; + width: 350px; + box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); + padding: 50px; + } + + .errors { + list-style: none; + margin: -15px 0 20px; + font-size: .8em; + text-align: left; + width: -webkit-fill-available; + width: -moz-available; + background: #fae7ea; + padding: 9px 15px; + border-radius: 0 0 3px 3px; + border-top: 0; + border: 1px solid #e1c5c5; + color: #8d7575; + height: fit-content; + } + + .error { + margin-bottom: 5px; + } + + .error:last-of-type { + margin-bottom: 0; + } + + i { + height: 15px; + color: #8d7575; + margin-right: 5px; + font-size: .9em; + } + + .g-recaptcha div { + margin: auto; + } \ No newline at end of file diff --git a/admin/templates/signup.jinja2 b/admin/templates/signup.jinja2 index a1c1c23..4723bfe 100644 --- a/admin/templates/signup.jinja2 +++ b/admin/templates/signup.jinja2 @@ -1,95 +1,85 @@ - {% block styles %} - - - + {% endblock %} {% block content %} -
    -

    Sign Up

    - -
    - {{ form.csrf_token }} - -
    {{ form.email.label }} {{ form.email }} - {% if form.email.errors %} -
      - {% for error in form.email.errors %} -
    • - {{ error }} -
    • - {% endfor %} -
    - {% endif %} -
    - -
    {{ form.password.label }} {{ form.password }} - {% if form.password.errors %} -
      - {% for error in form.email.errors %} -
    • - {{ error }} -
    • - {% endfor %} -
    - {% endif %} -
    - -
    {{ form.confirmPassword.label }} {{ form.confirmPassword }} - {% if form.confirmPassword.errors %} -
      - {% for error in form.email.errors %} -
    • - {{ error }} -
    • - {% endfor %} -
    - {% endif %} -
    - -
    {{ form.title.label }} {{ form.title }} - - {% if form.title.errors %} -
      - {% for error in form.email.errors %} -
    • - {{ error }} -
    • - {% endfor %} -
    - {% endif %} -
    +
    +
    {{ msg|safe }}
    + + {{ form.csrf_token }} + Sign Up +
    +
    {{ form.name.label(class='formLabel')}} {{form.name(class='formInput')}} + {% if form.email.errors %} +
      + {% for error in form.email.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    -
    {{ form.website.label }} {{ form.website }} - {% if form.website.errors %} -
      - {% for error in form.email.errors %} -
    • - {{ error }} -
    • - {% endfor %} -
    - {% endif %} -
    +
    {{ form.email.label(class='formLabel') }} {{ form.email(class='formInput')}} + {% if form.email.errors %} +
      + {% for error in form.email.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    -
    {{ form.birthday.label }} {{ form.birthday }} - {% if form.birthday.errors %} -
      - {% for error in form.email.errors %} -
    • - {{ error }} -
    • - {% endfor %} -
    - {% endif %} -
    +
    {{ form.password.label(class='formLabel') }} {{ form.password(class='formInput')}} + {% if form.password.errors %} +
      + {% for error in form.email.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    - {{ form.recaptcha }} - {{ form.submit }} +
    {{ form.confirmPassword.label(class='formLabel') }} {{ form.confirmPassword(class='formInput')}} + {% if form.confirmPassword.errors %} +
      + {% for error in form.email.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    +
    +
    - + {{ form.submit(class='btn-ghost-purple')}} + + {% with messages = get_flashed_messages() %} + {% if messages %} + + {% endif %} + {% endwith %} +
    + +
    {% endblock %} \ No newline at end of file diff --git a/admin/templates/signup_result.jinja2 b/admin/templates/signup_result.jinja2 new file mode 100644 index 0000000..266d6e6 --- /dev/null +++ b/admin/templates/signup_result.jinja2 @@ -0,0 +1,15 @@ +{% block styles %} + +{% endblock %} + + +{% block content %} + + {{ result }} + +{% endblock %} + From 77b70065eed71f3342c891bfe4a25872193bf1dc Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Tue, 1 Mar 2022 12:45:29 +0530 Subject: [PATCH 04/12] add login --- admin/admin_forms.py | 13 ++ admin/dashboards.py | 160 +++++++++++++++++++++++ admin/frontend_resources.py | 83 +++++++++++- admin/resources.py | 238 ---------------------------------- admin/static/css/forms.css | 4 +- admin/templates/login.jinja2 | 63 +++++++++ admin/templates/navbar.jinja2 | 16 +++ 7 files changed, 330 insertions(+), 247 deletions(-) create mode 100644 admin/dashboards.py create mode 100644 admin/templates/login.jinja2 create mode 100644 admin/templates/navbar.jinja2 diff --git a/admin/admin_forms.py b/admin/admin_forms.py index aa28082..72c21e1 100644 --- a/admin/admin_forms.py +++ b/admin/admin_forms.py @@ -26,3 +26,16 @@ class SignupForm(FlaskForm): [EqualTo(password, message="Passwords must match.")]) name = StringField("Name", [DataRequired()]) submit = SubmitField("Submit") + + +class LoginForm(FlaskForm): + """Signup for existing admin""" + + email = StringField( + "Email", [Email(message="Not a valid email address."), + DataRequired()]) + password = PasswordField( + "Password", + [DataRequired(message="Please enter a password.")], + ) + submit = SubmitField("Submit") diff --git a/admin/dashboards.py b/admin/dashboards.py new file mode 100644 index 0000000..47497b7 --- /dev/null +++ b/admin/dashboards.py @@ -0,0 +1,160 @@ +from admin.utils import extract_database_name, extract_engine_or_fail + + +class AdminDashboardStats(Resource): + """ + Endpoint to return information that should be displayed to the Admin + """ + @jwt_required + def get(self, section, filter_=None): + + if not verify_jwt(get_jwt_identity(), Admin): + return { + "result": "JWT authorization invalid, user does not exist." + } + + result = {} + if section.lower() == "db": + for connection_name, connection_string in DB_DICT.items(): + db_name = extract_database_name(connection_name) + engine = connection_string.split(":")[0] + + if engine == "postgresql+psycopg2": + engine = "postgres" + + if filter_ not in ["mysql", "postgres", "sqlite"]: + try: + result[engine].extend([db_name]) + except KeyError: + r1 = {engine: [db_name]} + result = {**result, **r1} + else: + if engine == filter_: + result[db_name] = connection_name + + return {"result": result}, 200 + + elif section.lower() == "app": + + tables = {} + for table_ in metadata.sorted_tables: + bind_key = table_.info["bind_key"] + try: + tables[bind_key].append(table_) + except KeyError: + tables[bind_key] = [table_] + + if filter_ in tables.keys(): + app_info = {} + app_type = "basic" + + jwt_base = JWT.query.filter_by(connection_name=filter_).first() + + if jwt_base is not None: + app_info["jwt_info"] = { + "base_table": jwt_base.table, + "filter_keys": jwt_base.filter_keys.split(","), + } + app_type = "JWT" + restricted_tables = RestrictedByJWT.query.filter_by( + connection_name=filter_).first() + + if restricted_tables is not None: + restricted_tables = restricted_tables.restricted_tables. \ + split(",") + app_info["jwt_info"][ + "restricted_tables"] = restricted_tables + app_info["jwt_info"]["no_restricted_tables"] = len( + restricted_tables) + + app_info["tables"] = [] + for table_ in tables[filter_]: + table_d = { + "table_name": table_.name, + "no_fields": len(table_.columns), + "columns": table_.columns.keys() + } + app_info["tables"].append(table_d) + + deployment_info = Deployments.query.filter_by( + app_name=filter_).first() + + if deployment_info is not None: + timestamp = "{DD}-{M}-{YY} {HH}:{MM}:{SS}".format( + DD=deployment_info.create_dt.day, + M=deployment_info.create_dt.month, + YY=deployment_info.create_dt.year, + HH=deployment_info.create_dt.hour, + MM=deployment_info.create_dt.minute, + SS=deployment_info.create_dt.second, + ) + app_info["deployment_info"] = { + "most_recent_deployment": timestamp, + "platform": deployment_info.platform.split(","), + "deployment_url": + deployment_info.deployment_url.split(","), + "total_no_exports": deployment_info.exports, + } + else: + app_info["deployment_info"] = { + "most_recent_deployment": None, + "deployment_url": None, + "platform": None, + "total_no_exports": 0, + } + + relation_ = Relationship.query.filter_by( + app_name=filter_).all() # noqa 501 + + if relation_ is not None: + r = [] + for rel in relation_: + relation = { + "relation_type": rel.relationship, + "relation_from": { + "table_name": rel.table1_column.split(",")[0], + "column_name": rel.table1_column.split(",")[1], + }, + "relation_to": { + "table_name": rel.table2_column.split(",")[0], + "column_name": rel.table2_column.split(",")[1], + } + } + r.append(relation) + app_info["relationships"] = r + else: + app_info["relationships"] = None + + app_info["db_type"] = extract_engine_or_fail(filter_) + app_info["number_of_tables"] = len(tables[filter_]) + app_info["type"] = app_type + return app_info + + if filter_ not in [None, "", "all"]: + return ( + { + "result": + "Error, filters are not available for this " + "resource" + }, + 400, + ) + + else: + tables = {} + for table_ in metadata.sorted_tables: + bind_key = table_.info["bind_key"] + try: + tables[bind_key].append(table_) + except KeyError: + tables[bind_key] = [table_] + tables = set(tables.keys()) + tables.remove("default") + return {"number_of_apps": len(tables)}, 200 + + else: + return {"result": "Error resource not created yet."}, 400 + + +api_admin.add_resource(AdminDashboardStats, + "/dashboard/stats//") diff --git a/admin/frontend_resources.py b/admin/frontend_resources.py index 22a55f5..18afa05 100644 --- a/admin/frontend_resources.py +++ b/admin/frontend_resources.py @@ -1,7 +1,16 @@ from flask import Blueprint, render_template, make_response, redirect, url_for, request, flash from flask_restful import Api, Resource, marshal_with, fields +from flask_jwt_extended import ( + create_access_token, + create_refresh_token, +) + +from datetime import datetime as dt +from datetime import timedelta + from admin.models.admin_model import Admin as AdminObject +from admin.models import Admin from admin.admin_forms import * @@ -9,6 +18,8 @@ from passlib.handlers.sha2_crypt import sha512_crypt +from typing import Tuple, Dict + ALGORITHM = sha512_crypt mod_frontend = Blueprint("frontend", @@ -95,6 +106,7 @@ def post(self): description: Admin already registered """ """TODO: delete unnecessary validation code + json_request = request.get_json() if json_request is None: return {"result": "Error json body cannot be None."}, 400 @@ -111,6 +123,7 @@ def post(self): }, 400, )""" + form = SignupForm(request.form) try: admin = AdminObject.from_dict({ @@ -124,8 +137,9 @@ def post(self): form=form, template="form-template", title="Signup Form") - print(admin) + admin_exists = Admin.query.filter_by(email=admin.email.lower()).first() + if admin_exists is None: password_hash = ALGORITHM.hash(admin.password) admin = Admin( @@ -136,18 +150,75 @@ def post(self): ) db.session.add(admin) db.session.commit() - return { - "result": "Admin created successfully.", - "id": admin.id, - "email": admin.email, - }, 200 + + return redirect(url_for("frontend.login"), + message="Admin created successfully.") else: + + #refresh signup and notification of error return {"result": "Admin already exists."}, 403 +class Login(Resource): + """API to login admin.""" + def get(self): + form = LoginForm(request.form) + return render_template("login.jinja2", form=form) + + def post(self) -> Tuple[Dict[str, str], int]: + # def post(self) -> Tuple[Dict[str, str], int]: + """ + Defines responses for the `/admin/login/` endpoint. + It allows a registered Admin user to login and receive a jwt, that can + be used to access the other restricted endpoints. + + Parameters: + ----------- + - email: + in: json body + required: true + type: string + format: email + + - password + in: json body + required: true + type: string + + Returns: + ------- + responses: + - 200 + """ + + form = LoginForm(request.form) + try: + admin = Admin.query.filter_by(email=form.email.data).first() + if admin is None: + return {"result": "Admin does not exist."}, 404 + else: + match = ALGORITHM.verify(form.password.data, admin.password) + expiry_time = timedelta(hours=4) + if not match: + return {"result": "Invalid password."}, 401 + else: + filter_keys = {"email": form.email.data} + access_token = create_access_token( + identity=filter_keys, expires_delta=expiry_time) + refresh_token = create_refresh_token(identity=filter_keys) + response = make_response( + redirect(url_for("dashboard.stats"))) + response.set_cookie('access_token', access_token) + response.set_cookie('refresh_token', refresh_token) + + except KeyError as e: + return {"result": "Key error", "error": str(e)}, 500 + + api_frontend.add_resource(test, "/test") api_frontend.add_resource(Signup, "/signup") +api_frontend.add_resource(Login, "/login") @api_frontend.representation("text/html") diff --git a/admin/resources.py b/admin/resources.py index f26ce7e..edce870 100644 --- a/admin/resources.py +++ b/admin/resources.py @@ -1,7 +1,6 @@ import re from datetime import datetime as dt -from datetime import timedelta import subprocess from threading import Thread @@ -12,14 +11,11 @@ from flask_restful import Api, Resource from flask_jwt_extended import ( jwt_required, - create_access_token, - create_refresh_token, get_jwt_identity, ) from sqlalchemy.exc import UnsupportedCompilationError - from admin.models import Admin, Deployments from admin.models.table_model import Table as TableModel from admin.models.database_model import Database as DatabaseObject @@ -43,7 +39,6 @@ from templates.models import metadata - mod_admin = Blueprint( "admin", __name__, @@ -51,8 +46,6 @@ api_admin = Api() api_admin.init_app(mod_admin) -jwt_filter_keys = ["email"] - class AdminApi(Resource): """ @@ -139,77 +132,6 @@ def get(self, email=None) -> Tuple[Dict[str, str], int]: return {"result": "Admin does not exist."}, 400 -class Login(Resource): - """API to login admin.""" - def post(self) -> Tuple[Dict[str, str], int]: - """ - Defines responses for the `/admin/login/` endpoint. - It allows a registered Admin user to login and receive a jwt, that can - be used to access the other restricted endpoints. - - Parameters: - ----------- - - email: - in: json body - required: true - type: string - format: email - - - password - in: json body - required: true - type: string - - Returns: - ------- - json serializable dict, integer response code - responses: - - 200 - type: json - parameters: - - result - type: string - - email - type: string - format: email - - name - type: string - - id - type: integer - - access_token - type: string - description: the jwt token required by doga to access - restricted endpoint. - - refresh_token - type: string - """ - data = request.get_json() - try: - admin = Admin.query.filter_by(email=data["email"]).first() - if admin is None: - return {"result": "Admin does not exist."}, 404 - else: - match = ALGORITHM.verify(data["password"], admin.password) - expiry_time = timedelta(hours=4) - if not match: - return {"result": "Invalid password."}, 401 - else: - filter_keys = {key: data[key] for key in jwt_filter_keys} - access_token = create_access_token( - identity=filter_keys, expires_delta=expiry_time) - refresh_token = create_refresh_token(identity=filter_keys) - return { - "result": "Successfully logged in", - "email": admin.email, - "name": admin.name, - "id": admin.id, - "access_token": access_token, - "refresh_token": refresh_token, - }, 200 - except KeyError as e: - return {"result": "Key error", "error": str(e)}, 500 - - class ContentType(Resource): """ Defines the responses for the API's to create, verify and retrieve a admin @@ -1550,166 +1472,8 @@ def post(self, platform): ) -class AdminDashboardStats(Resource): - """ - Endpoint to return information that should be displayed to the Admin - """ - @jwt_required - def get(self, section, filter_=None): - - if not verify_jwt(get_jwt_identity(), Admin): - return { - "result": "JWT authorization invalid, user does not exist." - } - - result = {} - if section.lower() == "db": - for connection_name, connection_string in DB_DICT.items(): - db_name = extract_database_name(connection_name) - engine = connection_string.split(":")[0] - - if engine == "postgresql+psycopg2": - engine = "postgres" - - if filter_ not in ["mysql", "postgres", "sqlite"]: - try: - result[engine].extend([db_name]) - except KeyError: - r1 = {engine: [db_name]} - result = {**result, **r1} - else: - if engine == filter_: - result[db_name] = connection_name - - return {"result": result}, 200 - - elif section.lower() == "app": - - tables = {} - for table_ in metadata.sorted_tables: - bind_key = table_.info["bind_key"] - try: - tables[bind_key].append(table_) - except KeyError: - tables[bind_key] = [table_] - - if filter_ in tables.keys(): - app_info = {} - app_type = "basic" - - jwt_base = JWT.query.filter_by(connection_name=filter_).first() - - if jwt_base is not None: - app_info["jwt_info"] = { - "base_table": jwt_base.table, - "filter_keys": jwt_base.filter_keys.split(","), - } - app_type = "JWT" - restricted_tables = RestrictedByJWT.query.filter_by( - connection_name=filter_).first() - - if restricted_tables is not None: - restricted_tables = restricted_tables.restricted_tables. \ - split(",") - app_info["jwt_info"][ - "restricted_tables"] = restricted_tables - app_info["jwt_info"]["no_restricted_tables"] = len( - restricted_tables) - - app_info["tables"] = [] - for table_ in tables[filter_]: - table_d = { - "table_name": table_.name, - "no_fields": len(table_.columns), - "columns": table_.columns.keys() - } - app_info["tables"].append(table_d) - - deployment_info = Deployments.query.filter_by( - app_name=filter_).first() - - if deployment_info is not None: - timestamp = "{DD}-{M}-{YY} {HH}:{MM}:{SS}".format( - DD=deployment_info.create_dt.day, - M=deployment_info.create_dt.month, - YY=deployment_info.create_dt.year, - HH=deployment_info.create_dt.hour, - MM=deployment_info.create_dt.minute, - SS=deployment_info.create_dt.second, - ) - app_info["deployment_info"] = { - "most_recent_deployment": timestamp, - "platform": deployment_info.platform.split(","), - "deployment_url": - deployment_info.deployment_url.split(","), - "total_no_exports": deployment_info.exports, - } - else: - app_info["deployment_info"] = { - "most_recent_deployment": None, - "deployment_url": None, - "platform": None, - "total_no_exports": 0, - } - - relation_ = Relationship.query.filter_by( - app_name=filter_).all() # noqa 501 - - if relation_ is not None: - r = [] - for rel in relation_: - relation = { - "relation_type": rel.relationship, - "relation_from": { - "table_name": rel.table1_column.split(",")[0], - "column_name": rel.table1_column.split(",")[1], - }, - "relation_to": { - "table_name": rel.table2_column.split(",")[0], - "column_name": rel.table2_column.split(",")[1], - } - } - r.append(relation) - app_info["relationships"] = r - else: - app_info["relationships"] = None - - app_info["db_type"] = extract_engine_or_fail(filter_) - app_info["number_of_tables"] = len(tables[filter_]) - app_info["type"] = app_type - return app_info - - if filter_ not in [None, "", "all"]: - return ( - { - "result": - "Error, filters are not available for this " - "resource" - }, - 400, - ) - - else: - tables = {} - for table_ in metadata.sorted_tables: - bind_key = table_.info["bind_key"] - try: - tables[bind_key].append(table_) - except KeyError: - tables[bind_key] = [table_] - tables = set(tables.keys()) - tables.remove("default") - return {"number_of_apps": len(tables)}, 200 - - else: - return {"result": "Error resource not created yet."}, 400 - - -#TODO: can we do this iteratively or neater ? - api_admin.add_resource(AdminApi, "/admin_profile", "/admin_profile/") -api_admin.add_resource(Login, "/login") api_admin.add_resource(DatabaseInit, "/dbinit", "/dbinit/types/") api_admin.add_resource( @@ -1721,5 +1485,3 @@ def get(self, section, filter_=None): api_admin.add_resource(ColumnRelations, "/content/relations") api_admin.add_resource(ExportApp, "/export/") api_admin.add_resource(CreateNotifications, "/notify/") -api_admin.add_resource(AdminDashboardStats, - "/dashboard/stats//") diff --git a/admin/static/css/forms.css b/admin/static/css/forms.css index 98a44f9..c43cda1 100644 --- a/admin/static/css/forms.css +++ b/admin/static/css/forms.css @@ -35,6 +35,7 @@ form { border-color: var(--accentColor); border-style: solid; border-width: 2px; + box-shadow: -2px var(--glow-spacing-x) var(--glow-spacing-y) var(--glowColor); padding-top: 24px; padding-right: 32px; padding-bottom: 24px; @@ -49,9 +50,6 @@ form { .formHolder{ text-align: center; - /* - box-shadow: -3px var(--glow-spacing-x) var(--glow-spacing-y) var(--glowColor); - */ border-width: var(--border-size); border-style: transparent; background-color: var(--pink-purple); diff --git a/admin/templates/login.jinja2 b/admin/templates/login.jinja2 new file mode 100644 index 0000000..833ea95 --- /dev/null +++ b/admin/templates/login.jinja2 @@ -0,0 +1,63 @@ +{% block styles %} + +{% endblock %} + +{% block content %} +
    +
    +
    {{ msg|safe }}
    +
    + {{ form.csrf_token }} + Login +
    + +
    {{ form.email.label(class='formLabel') }} {{ form.email(class='formInput')}} + {% if form.email.errors %} +
      + {% for error in form.email.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.password.label(class='formLabel') }} {{ form.password(class='formInput')}} + {% if form.password.errors %} +
      + {% for error in form.email.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    +
    + + {{ form.submit(class='btn-ghost-purple')}} + + {% with messages = get_flashed_messages() %} + {% if messages %} + + {% endif %} + {% endwith %} +
    + +
    +
    + +{% endblock %} \ No newline at end of file diff --git a/admin/templates/navbar.jinja2 b/admin/templates/navbar.jinja2 new file mode 100644 index 0000000..c159a8c --- /dev/null +++ b/admin/templates/navbar.jinja2 @@ -0,0 +1,16 @@ +{% set navigation_bar = [ + ('/', 'index', 'Index'), + ('/apps', 'apps', 'Apps'), + ('/logout', 'logout', 'Logout'), + ('/docs', 'docs', 'Docs'), +] -%} + +{% set active_page = active_page|default('index'))] -%} +... + From b617e83a05c4fc18ca7a4ab15219e5322460edfa Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Wed, 2 Mar 2022 00:28:51 +0530 Subject: [PATCH 05/12] small fixes --- Procfile | 3 +- admin/__init__.py | 4 +- admin/dashboards.py | 42 ++++++++- admin/frontend_resources.py | 18 ++-- admin/static/css/base.css | 12 +++ admin/static/css/temp.css | 153 ------------------------------- admin/templates/base.jinja2 | 7 ++ admin/templates/dashboard.jinja2 | 4 + app/blueprints.py | 3 + config.py | 2 +- dbs.py | 3 - 11 files changed, 77 insertions(+), 174 deletions(-) create mode 100644 admin/static/css/base.css delete mode 100644 admin/static/css/temp.css create mode 100644 admin/templates/base.jinja2 create mode 100644 admin/templates/dashboard.jinja2 diff --git a/Procfile b/Procfile index 37b3677..6bfda09 100644 --- a/Procfile +++ b/Procfile @@ -1,3 +1,2 @@ doga: python3 -u runserver.py -notifications: python3 -u push_server/push_server.py -// frontend: sh -c 'cd $PWD/doga-frontend && npm install && npm start' +notifications: python3 -u push_server/push_server.py \ No newline at end of file diff --git a/admin/__init__.py b/admin/__init__.py index 89fef9c..76105a2 100644 --- a/admin/__init__.py +++ b/admin/__init__.py @@ -3,8 +3,7 @@ from app.utils import migrate as run_migration import subprocess - - +""" @app.before_first_request def run_db_function(): subprocess.run(["flask", "db", "init", "--multidb"]) @@ -17,3 +16,4 @@ def teardown(request): run_migration() global to_reload to_reload = True +""" \ No newline at end of file diff --git a/admin/dashboards.py b/admin/dashboards.py index 47497b7..dfc1e4b 100644 --- a/admin/dashboards.py +++ b/admin/dashboards.py @@ -1,12 +1,36 @@ -from admin.utils import extract_database_name, extract_engine_or_fail +from flask import Blueprint, render_template, make_response, redirect, url_for, request, flash +from flask_restful import Api, Resource, marshal_with, fields + +from flask_jwt_extended import ( + jwt_required, + get_jwt_identity, +) + +from admin.utils import extract_database_name +from admin.export.utils import extract_engine_or_fail +from admin.models import Admin + +from app.utils import verify_jwt + +from logging import getLogger + +mod_dashboard = Blueprint("dashboard", + __name__, + template_folder="templates", + static_folder="static") + +api_dashboard = Api() +api_dashboard.init_app(mod_dashboard) class AdminDashboardStats(Resource): """ Endpoint to return information that should be displayed to the Admin """ - @jwt_required - def get(self, section, filter_=None): + def get(self): + print(request.headers) + print(request.data) + print(get_jwt_identity()) if not verify_jwt(get_jwt_identity(), Admin): return { @@ -14,6 +38,7 @@ def get(self, section, filter_=None): } result = {} + """ if section.lower() == "db": for connection_name, connection_string in DB_DICT.items(): db_name = extract_database_name(connection_name) @@ -154,7 +179,14 @@ def get(self, section, filter_=None): else: return {"result": "Error resource not created yet."}, 400 + """ + + return render_template("dashboard.jinja2") + + +api_dashboard.add_resource(AdminDashboardStats, "/dashboard/stats") -api_admin.add_resource(AdminDashboardStats, - "/dashboard/stats//") +@api_dashboard.representation("text/html") +def out_html(data, code, headers): + return make_response(data) diff --git a/admin/frontend_resources.py b/admin/frontend_resources.py index 18afa05..5833a69 100644 --- a/admin/frontend_resources.py +++ b/admin/frontend_resources.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template, make_response, redirect, url_for, request, flash +from flask import Blueprint, Response, render_template, make_response, redirect, url_for, request, flash from flask_restful import Api, Resource, marshal_with, fields from flask_jwt_extended import ( @@ -150,9 +150,8 @@ def post(self): ) db.session.add(admin) db.session.commit() - - return redirect(url_for("frontend.login"), - message="Admin created successfully.") + flash("Admin created successfully.") + return redirect(url_for("frontend.login")) else: @@ -207,10 +206,13 @@ def post(self) -> Tuple[Dict[str, str], int]: access_token = create_access_token( identity=filter_keys, expires_delta=expiry_time) refresh_token = create_refresh_token(identity=filter_keys) - response = make_response( - redirect(url_for("dashboard.stats"))) - response.set_cookie('access_token', access_token) - response.set_cookie('refresh_token', refresh_token) + response = redirect( + url_for("dashboard.admindashboardstats")) + response.headers['headers'] = { + 'Authorization': "Bearer " + access_token + } + print(response.headers) + return response except KeyError as e: return {"result": "Key error", "error": str(e)}, 500 diff --git a/admin/static/css/base.css b/admin/static/css/base.css new file mode 100644 index 0000000..eaae6dd --- /dev/null +++ b/admin/static/css/base.css @@ -0,0 +1,12 @@ +body { + background: rgba(0, 0, 0, .9); + position: fixed; + display: flex; + justify-content: center; + align-items: center; + height: 100vh; + width: 100vw; + top: 0; + left: 0; + z-index: 999; + } diff --git a/admin/static/css/temp.css b/admin/static/css/temp.css deleted file mode 100644 index 42c6acb..0000000 --- a/admin/static/css/temp.css +++ /dev/null @@ -1,153 +0,0 @@ -.form-field { - position: relative; - border: 0; - padding: 0; - } - - .container { - padding: 80px; - display: flex; - justify-content: space-around; - } - - @media(max-width: 500px) { - .container { - padding: 50; - } - } - - .title { - font-size: 1.7rem; - color: #5f6988; - font-weight: 300; - border-bottom: 1px solid #dbe3ec; - padding-bottom: 5px; - margin: 0 0 40px 0; - } - - .form-wrapper { - background: white; - width: 350px; - box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); - padding: 40px; - } - - label { - font-size: .9em; - color: #5f6988; - margin-bottom: 3px; - display: block; - font-weight: 300; - } - - input, textarea, select { - padding: 10px 13px; - margin-bottom: 15px; - width: -webkit-fill-available; - width: -moz-available; - border-radius: 2px; - border: 1px solid #d4d9e3; - font-weight: 200; - color: #4d5060; - font-family: 'Poppins', sans-serif; - transition: all .3s ease-out; - font-size: .9em; - outline-color: transparent; - outline-style: none; - } - - select { - -webkit-appearance: none; - } - - select::after { - content: "hello"; - width: 0; - height: 0; - border-left: 20px solid transparent; - border-right: 20px solid transparent; - display: block; - border-top: 20px solid #f00; - } - - input[type="text"]::placeholder { - color: #d4d9e3; - } - - input[type="text"]:hover, - input[type="password"]:hover, - textarea:hover, - select:hover { - border-color: #5eb9d7; - background: #d9f6ff; - } - - input[type="text"]:focus, - input[type="password"]:focus, - textarea:focus { - background: white; - border-color: #5eb9d7; - box-shadow: unset; - } - - input[type="submit"], - button { - background: #5eb9d7; - color: white; - border-radius: 2px; - margin-top: 15px; - font-weight: 400; - border: 1px solid #5eb9d7; - line-height: 1; - transition: all .3s ease-out; - } - - input[type="submit"]:hover, - button:hover { - cursor: pointer; - background: white; - color: #5eb9d7; - padding: 13px !important; - } - - .success-wrapper { - background: white; - width: 350px; - box-shadow: 0 0 5px rgba(65, 67, 144, 0.1); - padding: 50px; - } - - .errors { - list-style: none; - margin: -15px 0 20px; - font-size: .8em; - text-align: left; - width: -webkit-fill-available; - width: -moz-available; - background: #fae7ea; - padding: 9px 15px; - border-radius: 0 0 3px 3px; - border-top: 0; - border: 1px solid #e1c5c5; - color: #8d7575; - height: fit-content; - } - - .error { - margin-bottom: 5px; - } - - .error:last-of-type { - margin-bottom: 0; - } - - i { - height: 15px; - color: #8d7575; - margin-right: 5px; - font-size: .9em; - } - - .g-recaptcha div { - margin: auto; - } \ No newline at end of file diff --git a/admin/templates/base.jinja2 b/admin/templates/base.jinja2 new file mode 100644 index 0000000..f6346de --- /dev/null +++ b/admin/templates/base.jinja2 @@ -0,0 +1,7 @@ +{% block styles %} + +{% endblock %} diff --git a/admin/templates/dashboard.jinja2 b/admin/templates/dashboard.jinja2 new file mode 100644 index 0000000..0bff609 --- /dev/null +++ b/admin/templates/dashboard.jinja2 @@ -0,0 +1,4 @@ +{% extends "base.jinja2" %} + +{% startblock %} +{% endblock %} \ No newline at end of file diff --git a/app/blueprints.py b/app/blueprints.py index 1376347..48ab34e 100644 --- a/app/blueprints.py +++ b/app/blueprints.py @@ -5,7 +5,9 @@ from admin.resources import mod_admin from admin.return_docs import docs from admin.asset_resources import assets + from admin.frontend_resources import mod_frontend +from admin.dashboards import mod_dashboard app.register_blueprint(mod_admin, url_prefix="/admin") app.register_blueprint(info, url_prefix="/admin/info") @@ -14,3 +16,4 @@ app.register_blueprint(assets, url_prefix="/admin/assets") app.register_blueprint(mod_frontend) +app.register_blueprint(mod_dashboard) diff --git a/config.py b/config.py index efb713a..586dee9 100644 --- a/config.py +++ b/config.py @@ -33,4 +33,4 @@ RECAPTCHA_USE_SSL = False RECAPTCHA_PUBLIC_KEY = 'public' RECAPTCHA_PRIVATE_KEY = 'private' -RECAPTCHA_OPTIONS = {'theme': 'white'} \ No newline at end of file +RECAPTCHA_OPTIONS = {'theme': 'white'} diff --git a/dbs.py b/dbs.py index aee2701..f96385a 100644 --- a/dbs.py +++ b/dbs.py @@ -1,10 +1,7 @@ DB_DICT = { "default": "sqlite:////tmp/default.db", - "tempapp": "postgresql+psycopg2://postgres:password@localhost:5432/tempapp", } - ALEMBIC_LIST = [ "AlembicVersionDefault", - "AlembicVersionTempapp", ] From f2814a57dab13e6645d6bc2bb5de507616e5651a Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Wed, 2 Mar 2022 22:52:33 +0530 Subject: [PATCH 06/12] small fix --- admin/__init__.py | 6 ++---- admin/dashboards.py | 4 +--- admin/frontend_resources.py | 14 +++++++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/admin/__init__.py b/admin/__init__.py index 76105a2..8dcab1d 100644 --- a/admin/__init__.py +++ b/admin/__init__.py @@ -3,7 +3,8 @@ from app.utils import migrate as run_migration import subprocess -""" + + @app.before_first_request def run_db_function(): subprocess.run(["flask", "db", "init", "--multidb"]) @@ -14,6 +15,3 @@ def run_db_function(): @app.teardown_request def teardown(request): run_migration() - global to_reload - to_reload = True -""" \ No newline at end of file diff --git a/admin/dashboards.py b/admin/dashboards.py index dfc1e4b..3cfccf5 100644 --- a/admin/dashboards.py +++ b/admin/dashboards.py @@ -28,9 +28,7 @@ class AdminDashboardStats(Resource): Endpoint to return information that should be displayed to the Admin """ def get(self): - print(request.headers) - print(request.data) - print(get_jwt_identity()) + print(request.cookies.get("access_token")) if not verify_jwt(get_jwt_identity(), Admin): return { diff --git a/admin/frontend_resources.py b/admin/frontend_resources.py index 5833a69..b183448 100644 --- a/admin/frontend_resources.py +++ b/admin/frontend_resources.py @@ -139,7 +139,6 @@ def post(self): title="Signup Form") admin_exists = Admin.query.filter_by(email=admin.email.lower()).first() - if admin_exists is None: password_hash = ALGORITHM.hash(admin.password) admin = Admin( @@ -156,7 +155,8 @@ def post(self): else: #refresh signup and notification of error - return {"result": "Admin already exists."}, 403 + flash("Admin already exists.") + return redirect(url_for("frontend.signup")) class Login(Resource): @@ -193,7 +193,8 @@ def post(self) -> Tuple[Dict[str, str], int]: form = LoginForm(request.form) try: - admin = Admin.query.filter_by(email=form.email.data).first() + admin = Admin.query.filter_by( + email=form.email.data.lower()).first() if admin is None: return {"result": "Admin does not exist."}, 404 else: @@ -203,15 +204,18 @@ def post(self) -> Tuple[Dict[str, str], int]: return {"result": "Invalid password."}, 401 else: filter_keys = {"email": form.email.data} + access_token = create_access_token( identity=filter_keys, expires_delta=expiry_time) refresh_token = create_refresh_token(identity=filter_keys) - response = redirect( + + response = + + redirect( url_for("dashboard.admindashboardstats")) response.headers['headers'] = { 'Authorization': "Bearer " + access_token } - print(response.headers) return response except KeyError as e: From dbb037d81172b5114b1ffa02d2bedf1ba102a240 Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Thu, 3 Mar 2022 11:31:29 +0530 Subject: [PATCH 07/12] fix jwt issues --- admin/admin_forms.py | 5 ++++- .../{frontend_resources.py => admin_pages.py} | 19 +++++++------------ admin/dashboards.py | 17 +++++++++++------ admin/resources_forms.py | 3 +++ admin/templates/dashboard.jinja2 | 3 --- app/blueprints.py | 2 +- config.py | 5 +++++ 7 files changed, 31 insertions(+), 23 deletions(-) rename admin/{frontend_resources.py => admin_pages.py} (93%) create mode 100644 admin/resources_forms.py diff --git a/admin/admin_forms.py b/admin/admin_forms.py index 72c21e1..24faf29 100644 --- a/admin/admin_forms.py +++ b/admin/admin_forms.py @@ -1,4 +1,7 @@ -"""Form object declaration.""" +"""Form objects declaration for the admin user. These will be used to create +and login to DOGA. +""" + from flask_wtf import FlaskForm, RecaptchaField from wtforms import ( DateField, diff --git a/admin/frontend_resources.py b/admin/admin_pages.py similarity index 93% rename from admin/frontend_resources.py rename to admin/admin_pages.py index b183448..5cd854e 100644 --- a/admin/frontend_resources.py +++ b/admin/admin_pages.py @@ -1,10 +1,8 @@ -from flask import Blueprint, Response, render_template, make_response, redirect, url_for, request, flash +from flask import Blueprint, render_template, make_response, redirect, url_for, request, flash from flask_restful import Api, Resource, marshal_with, fields -from flask_jwt_extended import ( - create_access_token, - create_refresh_token, -) +from flask_jwt_extended import (create_access_token, create_refresh_token, + set_access_cookies) from datetime import datetime as dt from datetime import timedelta @@ -209,13 +207,10 @@ def post(self) -> Tuple[Dict[str, str], int]: identity=filter_keys, expires_delta=expiry_time) refresh_token = create_refresh_token(identity=filter_keys) - response = - - redirect( - url_for("dashboard.admindashboardstats")) - response.headers['headers'] = { - 'Authorization': "Bearer " + access_token - } + response = make_response( + redirect(url_for("dashboard.admindashboardstats"))) + set_access_cookies(response, access_token) + return response except KeyError as e: diff --git a/admin/dashboards.py b/admin/dashboards.py index 3cfccf5..55f1066 100644 --- a/admin/dashboards.py +++ b/admin/dashboards.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template, make_response, redirect, url_for, request, flash +from flask import Blueprint, render_template, make_response, redirect, url_for, flash from flask_restful import Api, Resource, marshal_with, fields from flask_jwt_extended import ( @@ -6,6 +6,8 @@ get_jwt_identity, ) +from json import loads + from admin.utils import extract_database_name from admin.export.utils import extract_engine_or_fail from admin.models import Admin @@ -27,15 +29,18 @@ class AdminDashboardStats(Resource): """ Endpoint to return information that should be displayed to the Admin """ + @jwt_required def get(self): - print(request.cookies.get("access_token")) + #make sure the dict in populated if not verify_jwt(get_jwt_identity(), Admin): - return { - "result": "JWT authorization invalid, user does not exist." - } + flash("JWT authorization invalid, user does not exist.") + return redirect(url_for('frontend.login')) - result = {} + else: + return render_template("dashboard.jinja2", + template="dashboard-template", + title="Dashbard") """ if section.lower() == "db": for connection_name, connection_string in DB_DICT.items(): diff --git a/admin/resources_forms.py b/admin/resources_forms.py new file mode 100644 index 0000000..4f5ce76 --- /dev/null +++ b/admin/resources_forms.py @@ -0,0 +1,3 @@ +"""Form objects that will be used by the JINJA templates to collect the +users preferences for the creation of their own apps. +""" diff --git a/admin/templates/dashboard.jinja2 b/admin/templates/dashboard.jinja2 index 0bff609..bd36593 100644 --- a/admin/templates/dashboard.jinja2 +++ b/admin/templates/dashboard.jinja2 @@ -1,4 +1 @@ {% extends "base.jinja2" %} - -{% startblock %} -{% endblock %} \ No newline at end of file diff --git a/app/blueprints.py b/app/blueprints.py index 48ab34e..d0dc1a6 100644 --- a/app/blueprints.py +++ b/app/blueprints.py @@ -6,7 +6,7 @@ from admin.return_docs import docs from admin.asset_resources import assets -from admin.frontend_resources import mod_frontend +from admin.admin_pages import mod_frontend from admin.dashboards import mod_dashboard app.register_blueprint(mod_admin, url_prefix="/admin") diff --git a/config.py b/config.py index 586dee9..dcedfb0 100644 --- a/config.py +++ b/config.py @@ -23,6 +23,7 @@ CSRF_SESSION_KEY = "" #TODO check this out +#TODO: remove this from exported app SECRET_KEY = "powerful secretkey" WTF_CSRF_SECRET_KEY = "secret-key" @@ -30,7 +31,11 @@ # TODO: fix this JWT_SECRET_KEY = "x4BlDzv02dKx" +#TODO: remove this from exported app + RECAPTCHA_USE_SSL = False RECAPTCHA_PUBLIC_KEY = 'public' RECAPTCHA_PRIVATE_KEY = 'private' RECAPTCHA_OPTIONS = {'theme': 'white'} +JWT_TOKEN_LOCATION = ["cookies" + ] # ["headers", "cookies", "json", "query_string"] From f76c8e7adeff94ff8c238532f1f681e34f538bb7 Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Thu, 3 Mar 2022 11:51:43 +0530 Subject: [PATCH 08/12] fix workflows to dashboard --- admin/admin_pages.py | 6 ++++++ admin/static/css/base.css | 7 ++++++- admin/templates/base.jinja2 | 7 ------- admin/templates/dashboard.jinja2 | 8 +++++++- admin/templates/landing.jinja2 | 22 ++++++++++++++++++++++ 5 files changed, 41 insertions(+), 9 deletions(-) delete mode 100644 admin/templates/base.jinja2 create mode 100644 admin/templates/landing.jinja2 diff --git a/admin/admin_pages.py b/admin/admin_pages.py index 5cd854e..9dc4921 100644 --- a/admin/admin_pages.py +++ b/admin/admin_pages.py @@ -217,9 +217,15 @@ def post(self) -> Tuple[Dict[str, str], int]: return {"result": "Key error", "error": str(e)}, 500 +class Index(Resource): + def get(self): + return (render_template("landing.jinja2")) + + api_frontend.add_resource(test, "/test") api_frontend.add_resource(Signup, "/signup") api_frontend.add_resource(Login, "/login") +api_frontend.add_resource(Index, "/") @api_frontend.representation("text/html") diff --git a/admin/static/css/base.css b/admin/static/css/base.css index eaae6dd..feeb2f8 100644 --- a/admin/static/css/base.css +++ b/admin/static/css/base.css @@ -1,3 +1,8 @@ +@import './styles/colors.css'; +@import './styles/typography.css'; +@import './styles/button.css'; + + body { background: rgba(0, 0, 0, .9); position: fixed; @@ -9,4 +14,4 @@ body { top: 0; left: 0; z-index: 999; - } +} diff --git a/admin/templates/base.jinja2 b/admin/templates/base.jinja2 deleted file mode 100644 index f6346de..0000000 --- a/admin/templates/base.jinja2 +++ /dev/null @@ -1,7 +0,0 @@ -{% block styles %} - -{% endblock %} diff --git a/admin/templates/dashboard.jinja2 b/admin/templates/dashboard.jinja2 index bd36593..ef08b04 100644 --- a/admin/templates/dashboard.jinja2 +++ b/admin/templates/dashboard.jinja2 @@ -1 +1,7 @@ -{% extends "base.jinja2" %} +{% block styles %} + +{% endblock %} \ No newline at end of file diff --git a/admin/templates/landing.jinja2 b/admin/templates/landing.jinja2 new file mode 100644 index 0000000..d99cf59 --- /dev/null +++ b/admin/templates/landing.jinja2 @@ -0,0 +1,22 @@ + +{% block styles %} + +{% endblock %} + +{% block content %} + + doga{% block title %}{% endblock %} + + +
    + Login +
    + Signup +
    +
    + +{% endblock %} \ No newline at end of file From b5238e3444ad9b6baf4b9ef878b589fa7d8e391b Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Thu, 3 Mar 2022 13:35:51 +0530 Subject: [PATCH 09/12] add dashboard --- admin/dashboards.py | 231 ++++++++++++++----------------- admin/templates/dashboard.jinja2 | 10 ++ admin/templates/navbar.jinja2 | 12 +- config.py | 2 +- 4 files changed, 118 insertions(+), 137 deletions(-) diff --git a/admin/dashboards.py b/admin/dashboards.py index 55f1066..7d7f24a 100644 --- a/admin/dashboards.py +++ b/admin/dashboards.py @@ -10,11 +10,13 @@ from admin.utils import extract_database_name from admin.export.utils import extract_engine_or_fail -from admin.models import Admin +from admin.models import Admin, JWT, RestrictedByJWT, Relationship, Deployments + +from templates.models import metadata from app.utils import verify_jwt -from logging import getLogger +from dbs import DB_DICT mod_dashboard = Blueprint("dashboard", __name__, @@ -38,31 +40,15 @@ def get(self): return redirect(url_for('frontend.login')) else: - return render_template("dashboard.jinja2", - template="dashboard-template", - title="Dashbard") - """ - if section.lower() == "db": + app = {} for connection_name, connection_string in DB_DICT.items(): db_name = extract_database_name(connection_name) engine = connection_string.split(":")[0] - - if engine == "postgresql+psycopg2": - engine = "postgres" - - if filter_ not in ["mysql", "postgres", "sqlite"]: - try: - result[engine].extend([db_name]) - except KeyError: - r1 = {engine: [db_name]} - result = {**result, **r1} + if db_name == "default": + app[db_name] = {"engine": engine} + pass else: - if engine == filter_: - result[db_name] = connection_name - - return {"result": result}, 200 - - elif section.lower() == "app": + app[db_name] = {"engine": engine} tables = {} for table_ in metadata.sorted_tables: @@ -72,119 +58,104 @@ def get(self): except KeyError: tables[bind_key] = [table_] - if filter_ in tables.keys(): - app_info = {} - app_type = "basic" - - jwt_base = JWT.query.filter_by(connection_name=filter_).first() - - if jwt_base is not None: - app_info["jwt_info"] = { - "base_table": jwt_base.table, - "filter_keys": jwt_base.filter_keys.split(","), - } - app_type = "JWT" - restricted_tables = RestrictedByJWT.query.filter_by( - connection_name=filter_).first() - - if restricted_tables is not None: - restricted_tables = restricted_tables.restricted_tables. \ - split(",") - app_info["jwt_info"][ - "restricted_tables"] = restricted_tables - app_info["jwt_info"]["no_restricted_tables"] = len( - restricted_tables) - - app_info["tables"] = [] - for table_ in tables[filter_]: - table_d = { - "table_name": table_.name, - "no_fields": len(table_.columns), - "columns": table_.columns.keys() - } - app_info["tables"].append(table_d) - - deployment_info = Deployments.query.filter_by( - app_name=filter_).first() - - if deployment_info is not None: - timestamp = "{DD}-{M}-{YY} {HH}:{MM}:{SS}".format( - DD=deployment_info.create_dt.day, - M=deployment_info.create_dt.month, - YY=deployment_info.create_dt.year, - HH=deployment_info.create_dt.hour, - MM=deployment_info.create_dt.minute, - SS=deployment_info.create_dt.second, - ) - app_info["deployment_info"] = { - "most_recent_deployment": timestamp, - "platform": deployment_info.platform.split(","), - "deployment_url": - deployment_info.deployment_url.split(","), - "total_no_exports": deployment_info.exports, - } - else: - app_info["deployment_info"] = { - "most_recent_deployment": None, - "deployment_url": None, - "platform": None, - "total_no_exports": 0, - } - - relation_ = Relationship.query.filter_by( - app_name=filter_).all() # noqa 501 - - if relation_ is not None: - r = [] - for rel in relation_: - relation = { - "relation_type": rel.relationship, - "relation_from": { - "table_name": rel.table1_column.split(",")[0], - "column_name": rel.table1_column.split(",")[1], - }, - "relation_to": { - "table_name": rel.table2_column.split(",")[0], - "column_name": rel.table2_column.split(",")[1], - } + for filter_ in tables.keys(): + if connection_name in tables.keys(): + app_info = {} + app_type = "basic" + + jwt_base = JWT.query.filter_by( + connection_name=filter_).first() + + if jwt_base is not None: + app_info["jwt_info"] = { + "base_table": jwt_base.table, + "filter_keys": jwt_base.filter_keys.split(","), + } + app_type = "JWT" + restricted_tables = RestrictedByJWT.query.filter_by( + connection_name=filter_).first() + + if restricted_tables is not None: + restricted_tables = restricted_tables.restricted_tables. \ + split(",") + app_info["jwt_info"][ + "restricted_tables"] = restricted_tables + app_info["jwt_info"]["no_restricted_tables"] = len( + restricted_tables) + + app_info["tables"] = [] + for table_ in tables[filter_]: + table_d = { + "table_name": table_.name, + "no_fields": len(table_.columns), + "columns": table_.columns.keys() + } + app_info["tables"].append(table_d) + + deployment_info = Deployments.query.filter_by( + app_name=filter_).first() + + if deployment_info is not None: + timestamp = "{DD}-{M}-{YY} {HH}:{MM}:{SS}".format( + DD=deployment_info.create_dt.day, + M=deployment_info.create_dt.month, + YY=deployment_info.create_dt.year, + HH=deployment_info.create_dt.hour, + MM=deployment_info.create_dt.minute, + SS=deployment_info.create_dt.second, + ) + app_info["deployment_info"] = { + "most_recent_deployment": + timestamp, + "platform": + deployment_info.platform.split(","), + "deployment_url": + deployment_info.deployment_url.split(","), + "total_no_exports": + deployment_info.exports, + } + else: + app_info["deployment_info"] = { + "most_recent_deployment": None, + "deployment_url": None, + "platform": None, + "total_no_exports": 0, } - r.append(relation) - app_info["relationships"] = r - else: - app_info["relationships"] = None + + relation_ = Relationship.query.filter_by( + app_name=filter_).all() # noqa 501 + + if relation_ is not None: + r = [] + for rel in relation_: + relation = { + "relation_type": rel.relationship, + "relation_from": { + "table_name": + rel.table1_column.split(",")[0], + "column_name": + rel.table1_column.split(",")[1], + }, + "relation_to": { + "table_name": + rel.table2_column.split(",")[0], + "column_name": + rel.table2_column.split(",")[1], + } + } + r.append(relation) + app_info["relationships"] = r + else: + app_info["relationships"] = None app_info["db_type"] = extract_engine_or_fail(filter_) app_info["number_of_tables"] = len(tables[filter_]) app_info["type"] = app_type - return app_info - - if filter_ not in [None, "", "all"]: - return ( - { - "result": - "Error, filters are not available for this " - "resource" - }, - 400, - ) - - else: - tables = {} - for table_ in metadata.sorted_tables: - bind_key = table_.info["bind_key"] - try: - tables[bind_key].append(table_) - except KeyError: - tables[bind_key] = [table_] - tables = set(tables.keys()) - tables.remove("default") - return {"number_of_apps": len(tables)}, 200 - - else: - return {"result": "Error resource not created yet."}, 400 - """ - return render_template("dashboard.jinja2") + return render_template("dashboard.jinja2", + template="dashboard-template", + app=app_info, + title="Dashbard") api_dashboard.add_resource(AdminDashboardStats, "/dashboard/stats") diff --git a/admin/templates/dashboard.jinja2 b/admin/templates/dashboard.jinja2 index ef08b04..fd39fc7 100644 --- a/admin/templates/dashboard.jinja2 +++ b/admin/templates/dashboard.jinja2 @@ -4,4 +4,14 @@ href="{{ url_for('static', filename='static/css/base.css') }}" type="text/css" /> +{% endblock %} + +{% extends "navbar.jinja2" %} +{% set active_page = "dashboard" %} + + +{% block content %} + +{{app}} + {% endblock %} \ No newline at end of file diff --git a/admin/templates/navbar.jinja2 b/admin/templates/navbar.jinja2 index c159a8c..233c894 100644 --- a/admin/templates/navbar.jinja2 +++ b/admin/templates/navbar.jinja2 @@ -1,16 +1,16 @@ {% set navigation_bar = [ ('/', 'index', 'Index'), - ('/apps', 'apps', 'Apps'), + ('/dashboard', 'dashboard', 'Dashboard'), ('/logout', 'logout', 'Logout'), ('/docs', 'docs', 'Docs'), -] -%} +]-%} + +{% set active_page = active_page|default('index') -%} -{% set active_page = active_page|default('index'))] -%} -... diff --git a/config.py b/config.py index dcedfb0..b78ded7 100644 --- a/config.py +++ b/config.py @@ -37,5 +37,5 @@ RECAPTCHA_PUBLIC_KEY = 'public' RECAPTCHA_PRIVATE_KEY = 'private' RECAPTCHA_OPTIONS = {'theme': 'white'} -JWT_TOKEN_LOCATION = ["cookies" +JWT_TOKEN_LOCATION = ["cookies", "headers" ] # ["headers", "cookies", "json", "query_string"] From 69f90a865b691116c90e4eb405e36453dd64cf60 Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Thu, 3 Mar 2022 15:56:11 +0530 Subject: [PATCH 10/12] add app creation form --- admin/admin_pages.py | 19 ++--- admin/dashboards.py | 2 +- admin/resource_forms.py | 31 ++++++++ admin/resources.py | 37 +++++----- admin/resources_forms.py | 3 - admin/static/css/base.css | 15 ++++ admin/static/css/styles/card.css | 14 ++++ admin/templates/create_app.jinja2 | 113 ++++++++++++++++++++++++++++++ admin/templates/dashboard.jinja2 | 35 ++++----- admin/templates/home.html | 28 -------- admin/templates/login.jinja2 | 1 - admin/templates/navbar.jinja2 | 17 +++++ admin/templates/signup.jinja2 | 2 +- 13 files changed, 241 insertions(+), 76 deletions(-) create mode 100644 admin/resource_forms.py delete mode 100644 admin/resources_forms.py create mode 100644 admin/templates/create_app.jinja2 delete mode 100644 admin/templates/home.html diff --git a/admin/admin_pages.py b/admin/admin_pages.py index 9dc4921..419de9b 100644 --- a/admin/admin_pages.py +++ b/admin/admin_pages.py @@ -2,7 +2,7 @@ from flask_restful import Api, Resource, marshal_with, fields from flask_jwt_extended import (create_access_token, create_refresh_token, - set_access_cookies) + set_access_cookies, jwt_required) from datetime import datetime as dt from datetime import timedelta @@ -11,6 +11,7 @@ from admin.models import Admin from admin.admin_forms import * +from admin.resource_forms import * from app import db @@ -29,13 +30,6 @@ api_frontend.init_app(mod_frontend) -class test(Resource): - def get(self): - return render_template("home.html", - my_string="Wheeeee!", - my_list=[0, 1, 2, 3, 4, 5]) - - class Signup(Resource): def get(self): """User sign-up form for account creation.""" @@ -217,12 +211,19 @@ def post(self) -> Tuple[Dict[str, str], int]: return {"result": "Key error", "error": str(e)}, 500 +class CreateApp(Resource): + @jwt_required + def get(self): + form = DatabaseCreation(request.form) + return render_template("create_app.jinja2", form=form) + + class Index(Resource): def get(self): return (render_template("landing.jinja2")) -api_frontend.add_resource(test, "/test") +api_frontend.add_resource(CreateApp, "/create_app") api_frontend.add_resource(Signup, "/signup") api_frontend.add_resource(Login, "/login") api_frontend.add_resource(Index, "/") diff --git a/admin/dashboards.py b/admin/dashboards.py index 7d7f24a..605f91d 100644 --- a/admin/dashboards.py +++ b/admin/dashboards.py @@ -158,7 +158,7 @@ def get(self): title="Dashbard") -api_dashboard.add_resource(AdminDashboardStats, "/dashboard/stats") +api_dashboard.add_resource(AdminDashboardStats, "/dashboard") @api_dashboard.representation("text/html") diff --git a/admin/resource_forms.py b/admin/resource_forms.py new file mode 100644 index 0000000..e59045c --- /dev/null +++ b/admin/resource_forms.py @@ -0,0 +1,31 @@ +"""Form objects that will be used by the JINJA templates to collect the +users preferences for the creation of their own apps. +""" + +from flask_wtf import FlaskForm, RecaptchaField +from wtforms import ( + IntegerField, + PasswordField, + StringField, + SubmitField, + SelectField, +) + +from wtforms.validators import URL, DataRequired, Email, EqualTo, Length + + +class DatabaseCreation(FlaskForm): + """Create a from for a new app""" + + database_type = SelectField( + "Database Type", + [DataRequired(message="Please select a valid database type.")], + choices=["mysql", "sqlite", "postgresql"]) + + username = StringField("Database username") + password = PasswordField("Database user passoword") + host = StringField("Host Address") + port = IntegerField("Host Port") + app_name = StringField("Name the app you wish to create") + + submit = SubmitField("Submit") diff --git a/admin/resources.py b/admin/resources.py index edce870..3fc00fd 100644 --- a/admin/resources.py +++ b/admin/resources.py @@ -30,6 +30,9 @@ foreign_key_options, relationship_validation, ) + +from admin.resource_forms import DatabaseCreation + from admin.export.exportapp import ( check_if_exist, ) from admin.admin_forms import * @@ -892,10 +895,7 @@ def post(self): "result": "JWT authorization invalid, user does not exist." } - json_request = request.get_json() - - if json_request is None: - return {"result": "Error, request body cannot be empty."}, 500 + form = DatabaseCreation(request.form) required_keys = { "database_type", @@ -903,21 +903,24 @@ def post(self): "password", "database_name", } - missed_keys = required_keys.difference(json_request) - - if len(missed_keys) != 0: - return ( - { - "result": "Values for fields cannot be null", - "required values": list(missed_keys), - }, - 500, - ) - - json_request["connection_name"] = json_request["database_name"] try: - database = DatabaseObject.from_dict(json_request) + database = DatabaseObject.from_dict({ + "database_name": + form.app_name.data, + "connection_name": + form.app_name.data, + "database_type": + form.database_type.data, + "host": + form.host.data, + "port": + form.port.data, + "username": + form.username.data, + "password": + form.password.data, + }) except ValueError as err: return {"result": "Error: " + "".join(err.args)}, 400 diff --git a/admin/resources_forms.py b/admin/resources_forms.py deleted file mode 100644 index 4f5ce76..0000000 --- a/admin/resources_forms.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Form objects that will be used by the JINJA templates to collect the -users preferences for the creation of their own apps. -""" diff --git a/admin/static/css/base.css b/admin/static/css/base.css index feeb2f8..2a57166 100644 --- a/admin/static/css/base.css +++ b/admin/static/css/base.css @@ -1,6 +1,20 @@ +@import './styles/sizes.css'; @import './styles/colors.css'; +@import './styles/borders.css'; +@import './styles/display.css'; @import './styles/typography.css'; @import './styles/button.css'; +@import './styles/badge.css'; +@import './styles/input.css'; +@import './styles/select.css'; +@import './styles/anchor.css'; +@import './styles/avatar.css'; +@import './styles/radio-checkbox-switch.css'; +@import './styles/scrollbar.css'; +@import './styles/card.css'; +@import './styles/tabs.css'; +@import './styles/table.css'; +@import './styles/list.css'; body { @@ -15,3 +29,4 @@ body { left: 0; z-index: 999; } + diff --git a/admin/static/css/styles/card.css b/admin/static/css/styles/card.css index 89cfb74..2de9878 100644 --- a/admin/static/css/styles/card.css +++ b/admin/static/css/styles/card.css @@ -10,3 +10,17 @@ border-width: 2px; border-style: solid; } + +.app-card { + font-family: 'Fira Code', monospace; + border-radius: var(--rounded-2xl); + border-color: var(--accentColor); + border-style: solid; + border-width: 2px; + box-shadow: -2px var(--glow-spacing-x) var(--glow-spacing-y) var(--glowColor); + padding-top: 24px; + padding-right: 32px; + padding-bottom: 24px; + padding-left: 32px; + color: car(--accentColor) +} diff --git a/admin/templates/create_app.jinja2 b/admin/templates/create_app.jinja2 new file mode 100644 index 0000000..dfb4ea9 --- /dev/null +++ b/admin/templates/create_app.jinja2 @@ -0,0 +1,113 @@ +{% include "navbar.jinja2" %} + +{% block styles %} + +{% endblock %} + +{% block body %} +
    +
    +
    {{ msg|safe }}
    +
    + {{ form.csrf_token }} + Create App Database +
    + +
    {{ form.database_type.label(class='formLabel') }} {{ form.database_type(class='formInput')}} + {% if form.database_type.errors %} +
      + {% for error in form.database_types.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.username.label(class='formLabel') }} {{ form.username(class='formInput')}} + {% if form.username.errors %} +
      + {% for error in form.username.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.password.label(class='formLabel') }} {{ form.password(class='formInput')}} + {% if form.password.errors %} +
      + {% for error in form.password.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.host.label(class='formLabel') }} {{ form.host(class='formInput')}} + {% if form.host.errors %} +
      + {% for error in form.host.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.port.label(class='formLabel') }} {{ form.port(class='formInput')}} + {% if form.port.errors %} +
      + {% for error in form.port.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.app_name.label(class='formLabel') }} {{ form.app_name(class='formInput')}} + {% if form.password.errors %} +
      + {% for error in form.app_name.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    +
    + + {{ form.submit(class='btn-ghost-purple')}} + + {% with messages = get_flashed_messages() %} + {% if messages %} + + {% endif %} + {% endwith %} +
    + +
    +
    + +{% endblock %} \ No newline at end of file diff --git a/admin/templates/dashboard.jinja2 b/admin/templates/dashboard.jinja2 index fd39fc7..527e7dd 100644 --- a/admin/templates/dashboard.jinja2 +++ b/admin/templates/dashboard.jinja2 @@ -1,17 +1,20 @@ -{% block styles %} - -{% endblock %} +{% include "navbar.jinja2" %} +
    + + + + {% for info in app %} + + + -{% extends "navbar.jinja2" %} -{% set active_page = "dashboard" %} - - -{% block content %} - -{{app}} - -{% endblock %} \ No newline at end of file + {%for items in app["info"]%} + + {%endfor%} + + + {% endfor %} + +
    {{info}}{{app[info]}}{{items}}
    +
    +{% block body %}{% endblock %} diff --git a/admin/templates/home.html b/admin/templates/home.html deleted file mode 100644 index 71ae825..0000000 --- a/admin/templates/home.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - Flask Template Example - - - - - -
    -

    My string: {{my_string}}

    -

    Value from the list: {{my_list[3]}}

    -

    Loop through the list:

    -
      - {% for n in my_list %} -
    • {{n}}
    • - {% endfor %} -
    -
    - - - - diff --git a/admin/templates/login.jinja2 b/admin/templates/login.jinja2 index 833ea95..a918427 100644 --- a/admin/templates/login.jinja2 +++ b/admin/templates/login.jinja2 @@ -59,5 +59,4 @@ - {% endblock %} \ No newline at end of file diff --git a/admin/templates/navbar.jinja2 b/admin/templates/navbar.jinja2 index 233c894..7dfff2e 100644 --- a/admin/templates/navbar.jinja2 +++ b/admin/templates/navbar.jinja2 @@ -2,11 +2,25 @@ ('/', 'index', 'Index'), ('/dashboard', 'dashboard', 'Dashboard'), ('/logout', 'logout', 'Logout'), + ('/create_app', 'create app', 'Create app'), ('/docs', 'docs', 'Docs'), ]-%} {% set active_page = active_page|default('index') -%} + + + + + {% block styles %} + + {% endblock %} + + + + + diff --git a/admin/templates/signup.jinja2 b/admin/templates/signup.jinja2 index 4723bfe..b9d62fd 100644 --- a/admin/templates/signup.jinja2 +++ b/admin/templates/signup.jinja2 @@ -82,4 +82,4 @@ -{% endblock %} \ No newline at end of file +{% endblock %} From 15b1793d64e931b972a7c82470c0edcb1daedb45 Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Fri, 4 Mar 2022 12:18:58 +0530 Subject: [PATCH 11/12] add content definition --- admin/admin_pages.py | 35 ++++++- admin/form_utils.py | 35 +++++++ admin/models/column_model.py | 26 ++--- admin/resource_forms.py | 69 ++++++++++++-- admin/resources.py | 49 +--------- admin/templates/create_column.jinja2 | 137 +++++++++++++++++++++++++++ admin/utils.py | 16 +--- config.py | 1 + 8 files changed, 286 insertions(+), 82 deletions(-) create mode 100644 admin/form_utils.py create mode 100644 admin/templates/create_column.jinja2 diff --git a/admin/admin_pages.py b/admin/admin_pages.py index 419de9b..a8698c8 100644 --- a/admin/admin_pages.py +++ b/admin/admin_pages.py @@ -2,7 +2,8 @@ from flask_restful import Api, Resource, marshal_with, fields from flask_jwt_extended import (create_access_token, create_refresh_token, - set_access_cookies, jwt_required) + set_refresh_cookies, set_access_cookies, + jwt_required) from datetime import datetime as dt from datetime import timedelta @@ -204,6 +205,7 @@ def post(self) -> Tuple[Dict[str, str], int]: response = make_response( redirect(url_for("dashboard.admindashboardstats"))) set_access_cookies(response, access_token) + set_refresh_cookies(response, refresh_token) return response @@ -218,6 +220,34 @@ def get(self): return render_template("create_app.jinja2", form=form) +class AddTables(Resource): + """Add tables to the database / resources to the created app""" + @jwt_required + def get(self, app_name): + # check some app name so that you aren't just putting things + form = TableForm(request.form) + return render_template("create_table.jinja2", + form=form, + app_name=app_name) + + +class AddColumn(Resource): + """Add table column""" + @jwt_required + def get(self, app_name, table_name): + + form = ColumnForm(request.form) + form.app_name.app_name = app_name + form.table_name.data = table_name + + return render_template( + "create_column.jinja2", + app_name=app_name, + table_name=table_name, + form=form, + ) + + class Index(Resource): def get(self): return (render_template("landing.jinja2")) @@ -227,6 +257,9 @@ def get(self): api_frontend.add_resource(Signup, "/signup") api_frontend.add_resource(Login, "/login") api_frontend.add_resource(Index, "/") +api_frontend.add_resource(AddTables, "/add_tables/") +api_frontend.add_resource( + AddColumn, "/add_data_content//") @api_frontend.representation("text/html") diff --git a/admin/form_utils.py b/admin/form_utils.py new file mode 100644 index 0000000..9b696ba --- /dev/null +++ b/admin/form_utils.py @@ -0,0 +1,35 @@ +from admin.validators import column_types + + +def all_coltypes(): + available_types = column_types() + for i in [ + "INT", + "INTEGER", + "ARRAY", + "BOOLEAN", + "TEXT", + "CLOB", + "TIMESTAMP", + "Interval", + "CHAR", + "NCHAR", + "NVARCHAR", + "Concatenable", + "BINARY", + "FLOAT", + "BLOB", + "REAL", + "NUMERIC", + "DATETIME", + "TIME", + "DATE", + "BIGINT", + "SMALLINT", + "SmallInteger", + "Indexable", + ]: + available_types.remove(i) + + available_types.append("ImageType") + return available_types \ No newline at end of file diff --git a/admin/models/column_model.py b/admin/models/column_model.py index 9d69b49..895c1c3 100644 --- a/admin/models/column_model.py +++ b/admin/models/column_model.py @@ -136,23 +136,16 @@ def name(self, name: str): """ if name is None: raise ValueError( - "Invalid value for column name, `name` must not be `None`" - ) + "Invalid value for column name, `name` must not be `None`") if name is not None and len(name) > 32: - raise ValueError( - "Invalid value for column `name`, length must be" - " less than or equal to `32`." - ) + raise ValueError("Invalid value for column `name`, length must be" + " less than or equal to `32`.") if name is not None and len(name) < 1: - raise ValueError( - "Invalid value for column `name`, length must be " - "greater than or equal to `6`." - ) + raise ValueError("Invalid value for column `name`, length must be " + "greater than or equal to `6`.") if not re.match("^([a-z]+[0-9_]*)*$", name): - raise ValueError( - "Invalid value for column_name: {}, must contain" - " only alphabets, numbers and _".format(name) - ) + raise ValueError("Invalid value for column_name: {}, must contain" + " only alphabets, numbers and _".format(name)) self._name = name.lower() @@ -176,10 +169,9 @@ def nullable(self, nullable: bool): """ if nullable is None: raise ValueError( - "Invalid value for `nullable`, must not be `None`" - ) + "Invalid value for `nullable`, must not be `None`") - self._nullable = nullable + self._nullable = not nullable @property def type(self) -> str: diff --git a/admin/resource_forms.py b/admin/resource_forms.py index e59045c..bb049de 100644 --- a/admin/resource_forms.py +++ b/admin/resource_forms.py @@ -3,15 +3,12 @@ """ from flask_wtf import FlaskForm, RecaptchaField -from wtforms import ( - IntegerField, - PasswordField, - StringField, - SubmitField, - SelectField, -) +from wtforms import (IntegerField, PasswordField, StringField, SubmitField, + SelectField, BooleanField) -from wtforms.validators import URL, DataRequired, Email, EqualTo, Length +from wtforms.validators import URL, DataRequired, Email, EqualTo, Length, Regexp + +from admin.form_utils import * class DatabaseCreation(FlaskForm): @@ -24,8 +21,62 @@ class DatabaseCreation(FlaskForm): username = StringField("Database username") password = PasswordField("Database user passoword") - host = StringField("Host Address") + host = StringField("Host Address", [ + Regexp( + "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$" + ) + ]) port = IntegerField("Host Port") app_name = StringField("Name the app you wish to create") submit = SubmitField("Submit") + + +class ColumnForm(FlaskForm): + """Add tables to the form created""" + + app_name = StringField( + "Name of the application the data belongs to ", + render_kw={'disabled': ''}, + ) + + table_name = StringField( + "Name of the collection the data belongs to ", + render_kw={'disabled': ''}, + ) + + column_name = StringField( + "Data Group Name", + [DataRequired(message="Please specify the name of the Data Field")]) + + col_types = all_coltypes() + + column_types = SelectField("Data Type", [ + DataRequired( + message="Please specify the Type of data you'd like in this field") + ], + choices=col_types) + + nullable = BooleanField( + "Allow null values", + [ + DataRequired(), + ], + ) + + unique = BooleanField( + "Allow duplicate values", + [ + DataRequired(), + ], + ) + + #todo: get all the foreign key candidates and display appropriately + foreign_key = StringField("Add foreign_key values", ) + + default = StringField("Default value", ) + submit = SubmitField("Save") + + +class TableForm(FlaskForm): + """Add the table name""" diff --git a/admin/resources.py b/admin/resources.py index 3fc00fd..70fa7a8 100644 --- a/admin/resources.py +++ b/admin/resources.py @@ -7,7 +7,7 @@ from typing import Dict, Tuple -from flask import Blueprint, request, jsonify +from flask import Blueprint, request, jsonify, redirect, url_for from flask_restful import Api, Resource from flask_jwt_extended import ( jwt_required, @@ -31,7 +31,7 @@ relationship_validation, ) -from admin.resource_forms import DatabaseCreation +from admin.resource_forms import * from admin.export.exportapp import ( check_if_exist, ) @@ -407,6 +407,8 @@ def post(self): required_keys = {"table_name", "app_name", "columns"} + ColumnForm(request.form) + notification = Notifications( user=admin_jwt["email"], app_name=data["app_name"], @@ -986,10 +988,7 @@ def post(self): add_new_db(database.database_name) - return { - "result": - "Successfully created database connection string." + db_created - } + return redirect(url_for("admin.contenttypes", app=database.name)) @jwt_required def put(self): @@ -1113,43 +1112,6 @@ def put(self): ) -class ColumnType(Resource): - def get(self): - """Get a list of all valid column types available.""" - - available_types = column_types() - for i in [ - "INT", - "INTEGER", - "ARRAY", - "BOOLEAN", - "TEXT", - "CLOB", - "TIMESTAMP", - "Interval", - "CHAR", - "NCHAR", - "NVARCHAR", - "Concatenable", - "BINARY", - "FLOAT", - "BLOB", - "REAL", - "NUMERIC", - "DATETIME", - "TIME", - "DATE", - "BIGINT", - "SMALLINT", - "SmallInteger", - "Indexable", - ]: - available_types.remove(i) - - available_types.append("ImageType") - return {"result": available_types}, 200 - - class ExportApp(Resource): """ Endpoint that deals with deployment of the app to different platforms @@ -1484,7 +1446,6 @@ def post(self, platform): "/content/types", "/content/types//", ) -api_admin.add_resource(ColumnType, "/columntypes") api_admin.add_resource(ColumnRelations, "/content/relations") api_admin.add_resource(ExportApp, "/export/") api_admin.add_resource(CreateNotifications, "/notify/") diff --git a/admin/templates/create_column.jinja2 b/admin/templates/create_column.jinja2 new file mode 100644 index 0000000..c1100fc --- /dev/null +++ b/admin/templates/create_column.jinja2 @@ -0,0 +1,137 @@ +{% include "navbar.jinja2" %} + +{% block styles %} + +{% endblock %} + +{% block body %} +
    +
    +
    {{ msg|safe }}
    +
    + {{ form.csrf_token }} + Create App Database +
    + +
    {{ form.app_name.label(class='formLabel') }} {{ form.app_name(class='formInput')}} + {% if form.app_name.errors %} +
      + {% for error in form.app_name.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.table_name.label(class='formLabel') }} {{ form.table_name(class='formInput')}} + {% if form.table_name.errors %} +
      + {% for error in form.table_name.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.column_name.label(class='formLabel') }} {{ form.column_name(class='formInput')}} + {% if form.column_name.errors %} +
      + {% for error in form.column_name.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.column_types.label(class='formLabel') }} {{ form.column_types(class='formInput')}} + {% if form.column_types.errors %} +
      + {% for error in form.column_types.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.nullable.label(class='formLabel') }} {{ form.nullable(class='formInput')}} + {% if form.nullable.errors %} +
      + {% for error in form.nullable.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.unique.label(class='formLabel') }} {{ form.unique(class='formInput')}} + {% if form.unique.errors %} +
      + {% for error in form.unique.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.default.label(class='formLabel') }} {{ form.default(class='formInput')}} + {% if form.default.errors %} +
      + {% for error in form.default.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.foreign_key.label(class='formLabel') }} {{ form.foreign_key(class='formInput')}} + {% if form.foreign_key.errors %} +
      + {% for error in form.foreign_key.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    +
    + + {{ form.submit(class='btn-ghost-purple')}} + + {% with messages = get_flashed_messages() %} + {% if messages %} + + {% endif %} + {% endwith %} +
    + +
    +
    + +{% endblock %} \ No newline at end of file diff --git a/admin/utils.py b/admin/utils.py index 994f88a..d45c886 100644 --- a/admin/utils.py +++ b/admin/utils.py @@ -12,11 +12,8 @@ def generate_secret_key(): length = random.randint(7, 15) # length of secret key in range [7,15] res = "".join( - secrets.choice( - string.ascii_uppercase + string.ascii_lowercase + string.digits - ) - for _ in range(length) - ) + secrets.choice(string.ascii_uppercase + string.ascii_lowercase + + string.digits) for _ in range(length)) return res @@ -50,7 +47,7 @@ def extract_database_name(connection_name): end = len(connection_string) else: end = connection_string.rfind(".db") - return connection_string[start + 1: end] + return connection_string[start + 1:end] def _deserialize_dict(data, boxed_type): @@ -85,11 +82,8 @@ def deserialize_model(data, klass): return data for attr, attr_type in six.iteritems(instance.param_types): - if ( - data is not None - and instance.attribute_map[attr] in data - and isinstance(data, (list, dict)) - ): + if (data is not None and instance.attribute_map[attr] in data + and isinstance(data, (list, dict))): value = data[instance.attribute_map[attr]] setattr(instance, attr, _deserialize(value, attr_type)) diff --git a/config.py b/config.py index b78ded7..3d58c65 100644 --- a/config.py +++ b/config.py @@ -39,3 +39,4 @@ RECAPTCHA_OPTIONS = {'theme': 'white'} JWT_TOKEN_LOCATION = ["cookies", "headers" ] # ["headers", "cookies", "json", "query_string"] +JWT_COOKIE_CSRF_PROTECT = False \ No newline at end of file From 37d6417dafdfe06e30119360f211a8b40c566dbd Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Mon, 7 Mar 2022 17:20:30 +0530 Subject: [PATCH 12/12] add more resources --- admin/admin_pages.py | 26 +++-- admin/resource_forms.py | 42 ++++++++ admin/templates/create_column.jinja2 | 2 +- admin/templates/create_table.jinja2 | 137 +++++++++++++++++++++++++++ 4 files changed, 197 insertions(+), 10 deletions(-) create mode 100644 admin/templates/create_table.jinja2 diff --git a/admin/admin_pages.py b/admin/admin_pages.py index a8698c8..f02a3dc 100644 --- a/admin/admin_pages.py +++ b/admin/admin_pages.py @@ -237,15 +237,23 @@ class AddColumn(Resource): def get(self, app_name, table_name): form = ColumnForm(request.form) - form.app_name.app_name = app_name - form.table_name.data = table_name - return render_template( - "create_column.jinja2", - app_name=app_name, - table_name=table_name, - form=form, - ) + if app_name in DB_DICT: + #todo: add and and condition locking the table name too + + form.app_name.app_name = app_name + form.table_name.data = table_name + + return render_template( + "create_column.jinja2", + app_name=app_name, + table_name=table_name, + form=form, + ) + + else: + flash("Please create an app first.") + return render_template("") class Index(Resource): @@ -264,4 +272,4 @@ def get(self): @api_frontend.representation("text/html") def out_html(data, code, headers): - return make_response(data) \ No newline at end of file + return make_response(data) diff --git a/admin/resource_forms.py b/admin/resource_forms.py index bb049de..ae0794f 100644 --- a/admin/resource_forms.py +++ b/admin/resource_forms.py @@ -80,3 +80,45 @@ class ColumnForm(FlaskForm): class TableForm(FlaskForm): """Add the table name""" + + app_name = StringField( + "Name of the application the data belongs to ", + render_kw={'disabled': ''}, + ) + + table_name = StringField("Name of the collection the data belongs to ", [ + DataRequired(message="Please specify the name of the Data Collection") + ]) + + column_name = StringField( + "Data Group Name", + [DataRequired(message="Please specify the name of the Data Field")]) + + col_types = all_coltypes() + + column_types = SelectField("Data Type", [ + DataRequired( + message="Please specify the Type of data you'd like in this field") + ], + choices=col_types) + + #TODO make these columns should show if something is selected to indicate JWT + jwt_required = BooleanField( + "Allow null values", + [ + DataRequired(), + ], + ) + + base_jwt = BooleanField( + "Allow duplicate values", + [ + DataRequired(), + ], + ) + + #todo: get all the foreign key candidates and display appropriately + foreign_key = StringField("Add foreign_key values", ) + + default = StringField("Default value", ) + submit = SubmitField("Save") \ No newline at end of file diff --git a/admin/templates/create_column.jinja2 b/admin/templates/create_column.jinja2 index c1100fc..d31134c 100644 --- a/admin/templates/create_column.jinja2 +++ b/admin/templates/create_column.jinja2 @@ -12,7 +12,7 @@
    {{ msg|safe }}
    -
    + {{ form.csrf_token }} Create App Database
    diff --git a/admin/templates/create_table.jinja2 b/admin/templates/create_table.jinja2 new file mode 100644 index 0000000..c1100fc --- /dev/null +++ b/admin/templates/create_table.jinja2 @@ -0,0 +1,137 @@ +{% include "navbar.jinja2" %} + +{% block styles %} + +{% endblock %} + +{% block body %} +
    +
    +
    {{ msg|safe }}
    + + {{ form.csrf_token }} + Create App Database +
    + +
    {{ form.app_name.label(class='formLabel') }} {{ form.app_name(class='formInput')}} + {% if form.app_name.errors %} +
      + {% for error in form.app_name.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.table_name.label(class='formLabel') }} {{ form.table_name(class='formInput')}} + {% if form.table_name.errors %} +
      + {% for error in form.table_name.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.column_name.label(class='formLabel') }} {{ form.column_name(class='formInput')}} + {% if form.column_name.errors %} +
      + {% for error in form.column_name.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.column_types.label(class='formLabel') }} {{ form.column_types(class='formInput')}} + {% if form.column_types.errors %} +
      + {% for error in form.column_types.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.nullable.label(class='formLabel') }} {{ form.nullable(class='formInput')}} + {% if form.nullable.errors %} +
      + {% for error in form.nullable.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.unique.label(class='formLabel') }} {{ form.unique(class='formInput')}} + {% if form.unique.errors %} +
      + {% for error in form.unique.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.default.label(class='formLabel') }} {{ form.default(class='formInput')}} + {% if form.default.errors %} +
      + {% for error in form.default.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    {{ form.foreign_key.label(class='formLabel') }} {{ form.foreign_key(class='formInput')}} + {% if form.foreign_key.errors %} +
      + {% for error in form.foreign_key.errors %} +
    • + {{ error }} +
    • + {% endfor %} +
    + {% endif %} +
    + +
    +
    + + {{ form.submit(class='btn-ghost-purple')}} + + {% with messages = get_flashed_messages() %} + {% if messages %} + + {% endif %} + {% endwith %} +
    + +
    +
    + +{% endblock %} \ No newline at end of file
    - - -
    - EC2 Config -
    - - This specifies values that need to be configured for the - instances storage, each block device needs to be added to the - list separately. the defaults provided: - - - - setDeviceName(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - if true all backed up sotrage and snapshots of volume are lost - and instance cannot be reverted to it's initial AMI state. - - - setDeleteOnTermination(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - VolumeSize specifies the size of the attached block device in - GBs - - - setVolumeSize(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - VolumeType can be one of gp3, gp2 for General purpose SSD and - one of io2, io1 for a Provisioned IOPS SSD, more information can - be found [at] -
    - https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html - - - - setVolumeType(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - - {deviceList.map((key, index) => { - return ( - - - - {/* {user} */} - {key.DeviceName} - - - removeDeviceHandler(index)} - /> - - - ); - })} - - - - setInstanceType(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - setImageId(e.target.value)} - /> - - {errors?.name && ( - - {errors?.name?.message} - - )} - - - - - - - - ); -}; - -export default Aws; diff --git a/doga-frontend/src/containers/Deploy/Deploy.js b/doga-frontend/src/containers/Deploy/Deploy.js deleted file mode 100644 index 70c4d1a..0000000 --- a/doga-frontend/src/containers/Deploy/Deploy.js +++ /dev/null @@ -1,105 +0,0 @@ -import { useState } from "react"; -import { Box, H2, Para } from "../../styles"; -import { Redirect } from "react-router-dom"; -import UserCredentials from "./UserCredentials"; -import UserConfig from "./UserConfig"; -import { useGlobal } from "reactn"; -import ClipLoader from "react-spinners/ClipLoader"; -import { useEffect } from "reactn"; -import RdsConfig from "./RdsConfig"; -import Aws from "./Aws"; - -const Deploy = () => { - const [step, setStep] = useState(1); - const [deployProcessStatus, setdeployProcessStatus] = useGlobal("deploy"); - const [userConfig, setUserConfig] = useState(); - const [userCredential, setUserCredential] = useState(); - const [rdsConfig, setRdsConfig] = useState(); - const [ec2Config, setEc2Config] = useState(); - const [onLoading, setOnLoading] = useState(false); - - useEffect(() => { - if (deployProcessStatus?.status === "COMPLETED") setdeployProcessStatus(); - }, [deployProcessStatus]); - - return ( - <> - - {step === 1 && ( - - )} - {step === 2 && ( - - )} - {step === 3 && ( - <> - - - )} - {step === 4 && ( - <> - - - )} - - {step === 5 ? ( - <> - {deployProcessStatus?.status === "INITIATED" || - deployProcessStatus?.status === "PROCESSING" ? ( - <> - -

    Status: {deployProcessStatus?.status.toLowerCase()}

    -
    - {deployProcessStatus?.message} -
    - - - - - ) : deployProcessStatus?.status === "COMPLETED" ? ( - - ) : deployProcessStatus?.status === "ERROR" ? ( - <> - -

    Status: {deployProcessStatus?.status.toLowerCase()}

    -
    - {deployProcessStatus?.message} -
    - - ) : ( - - - - )} - - ) : null} -
    - - ); -}; - -export default Deploy; diff --git a/doga-frontend/src/containers/Deploy/HerokuDeploy.js b/doga-frontend/src/containers/Deploy/HerokuDeploy.js deleted file mode 100644 index 8eb66c4..0000000 --- a/doga-frontend/src/containers/Deploy/HerokuDeploy.js +++ /dev/null @@ -1,138 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Box, Button, Span, Label } from "../../styles"; -import { useQuery, useQueryClient } from "react-query"; -import { createStandaloneToast } from "@chakra-ui/react"; -import Api, { APIURLS } from "../../Api"; -import { useIsFetching } from "react-query"; -import Select from "react-select"; -import ClipLoader from "react-spinners/ClipLoader"; - -const HerokuDeploy = () => { - const [token] = useGlobal("token"); - const { handleSubmit, register, errors } = useForm(); - const [selectedApp, setSelectedApp] = useState(); - const [loading, setLoading] = useState(false); - const [provisionDb, setProvisionDb] = useState(); - const toast = createStandaloneToast(); - const { data } = useQuery([APIURLS.getContentType], { - enabled: !!token, - }); - - let selectAppName = []; - if (data) { - for (let key in data) { - selectAppName.push({ - value: key, - label: key, - }); - } - } - - async function handleSignup(params) { - setLoading(true); - try { - let obj = { - app_name: selectedApp, - provision_db: provisionDb, - }; - let { data } = await Api.post(APIURLS.herokuExport(), obj); - - toast({ - title: "Success", - description: data?.result, - status: "success", - duration: 9000, - isClosable: false, - }); - setLoading(false); - } catch ({ response }) { - setLoading(false); - } - } - - return loading ? ( - - - - ) : ( - <> - - Deploy Your App on Heroku - - -
    - - - setProvisionDb(value)} - theme={CARD_ELEMENT_OPTIONS} - placeholder="provision DB" - options={[ - { - value: true, - label: "True", - }, - { - value: false, - label: "False", - }, - ]} - /> - - - -
    -
    - - ); -}; - -const CARD_ELEMENT_OPTIONS = { - style: { - base: { - color: "#32325d", - fontFamily: '"Helvetica Neue", Helvetica, sans-serif', - fontSmoothing: "antialiased", - fontSize: "18px", - "::placeholder": { - color: "#aab7c4", - }, - }, - invalid: { - color: "#fa755a", - iconColor: "#fa755a", - }, - }, -}; - -export default HerokuDeploy; diff --git a/doga-frontend/src/containers/Deploy/RdsConfig.js b/doga-frontend/src/containers/Deploy/RdsConfig.js deleted file mode 100644 index 5500c0c..0000000 --- a/doga-frontend/src/containers/Deploy/RdsConfig.js +++ /dev/null @@ -1,288 +0,0 @@ -import React, { useState } from "react"; -import { useForm } from "react-hook-form"; -import { useGlobal } from "reactn"; -import { Box, Button, Span, H5, Input, Label, Para } from "../../styles"; -import { useQueryClient } from "react-query"; -import { createStandaloneToast } from "@chakra-ui/react"; -import Api, { APIURLS } from "../../Api"; -import { useIsFetching } from "react-query"; -import Select from "react-select"; -import ClipLoader from "react-spinners/ClipLoader"; - -const RdsConfig = ({ - userCredential, - setStep, - userConfig, - setUserCredential, - rdsConfig, - setEc2Config, -}) => { - const { handleSubmit, register, errors } = useForm(); - - const [selectedRds, setSelectedRds] = useState(); - const [loading, setLoading] = useState(false); - - let selectRds = []; - if (rdsConfig.rds_config) { - let data = rdsConfig.rds_config.Engine; - for (let key in data) { - selectRds.push({ - value: data[key], - label: data[key], - }); - } - } - - async function handleSignup(params) { - setLoading(true); - try { - let obj = { - app_name: userCredential.app_name, - user_credentials: { - aws_username: userCredential.user_credentials.aws_username, - aws_secret_key: userCredential.user_credentials.aws_secret_key, - aws_access_key: userCredential.user_credentials.aws_access_key, - }, - config: { - region_name: userCredential.config.region_name, - signature_version: userCredential.config.signature_version, - }, - rds_config: { - Engine: selectedRds, - AllocatedStorage: parseInt(params.AllocatedStorage), - DBInstanceIdentifier: params.DBInstanceIdentifier, - DBInstanceClass: params.DBInstanceClass, - MasterUsername: params.MasterUsername, - MasterUserPassword: params.MasterUserPassword, - MaxAllocatedStorage: parseInt(params.MaxAllocatedStorage), - }, - }; - setUserCredential(obj); - let { data } = await Api.post(APIURLS.getUserEc2Congif(), { - aws_username: params.aws_username, - aws_secret_key: params.aws_secret_key, - aws_access_key: params.aws_access_key, - }); - setEc2Config(data); - setStep(4); - setLoading(false); - } catch ({ response }) { - setLoading(false); - } - } - - return loading ? ( - - - - ) : ( - <> - - Deploy Your App on AWS - - -

    7AjxPT5dE&G8FS)5)iDf0iu%S>@fYB|#=-%}ifi>M2EF`kZ!$ zzk$m&$dut${I-kwTlwqIrtc;ptz_J>(P0qUOL_W|PP7v1HIy$u{_dc8ki3=s0Rv*0sbi;Wtv+)T7B(JbX9z6cngQGf%kAHSi zVYmwx-;nXqVDj_xKLRa?%7}CoHgGB7&7}d8>SmvrG&?#vy8Ktqhl?gUtEs*J?%?wa zV;UTqS9eY9kH$Y5DsR{2=!4+tUv#?}Ro%3+%j2Xnorn zIe=*_V&2mC^b{!kod0`t!|6DL+HyQek&c|x(S*XSM2tR{5`y)RhIL6QxPEvxYq(>$r03;hL~dc>eVG$*3J1=5x;^M-|NQf3ojL@0XQWr62nOxH zJWb)-D%-w0Px7_?s~{CG?cmD$D}>MVN*{0y3(*R#gC#3GC*~h6J03Kc1bv2TB!Lxo z?KkNE@5>>?cA^MFFIy3XdGKPB+>f(yMpZ8@tXf=+xrs+@GM2GA#-t)LvwUAQZXs z&zZpQl8z@kBP3T{{KRmLV_TU`hsUHvN|b~oiv~-^qBDL5h>`**xjdML3UxyTXq?SdxEN`|E76LnzGm2Xsw**U@c`Ak-;UtvwSJ zTRgQDXjEuczAw{|v5{o#?@yN!<20UEknU}z`zddnMR?g>@<^l`qWr_e84)+zNOqi_ zUYAHXWmpG!KoJgu!3q32?otj-EbwX)rzo6{k7lW6u%y_Ul9r1j*IOL|m*fQhsy2(z z=UvGdeUb9b3%}>r=AB=Qg!^@!De=rQ&@r9oB`!BKAA$t#OLnS0O`7K-jz|0UoE65^ z@Nh4Jnd$O-Mqi9IA94eS%bpQ*e(EPa0Wae?i>Me&)QSCES7`IQM;KnX#=6s^uM;Y5 zxw~IVVI0L&oHc~;8LCrO+T_TR_vNV_3QOlY0xo#Xf39?g?ba2bUXbX+R&KcUef&vW z`{@|M_m`sckET$P=36A~Vo^23E|-C`R4do>aI*)QOF7CkvnR|;8E(3ywZl+FdmTM> zS@-$2lpufd#2Qi^+<(@0qbIG)C(j~^iq4$0nffd=z4$a@*Zr`a={(COls~tT+spIB zq7lq@Xgs6-`0~SLtuXBOz^z#MOsLbDGjXN6PlLA23hH{qEj%1&N5RdOt3_$oO6Y^k zmd!*@7f)2Kz;!V5=`FGnL6}}0d@{fRq^2krUzFvBxRo}&F1*5(pKWckwe(QS(~?4C ze*I(u95~%GfzDRfS7f9{_%l&zIR{q*!5Q7y**5#fhajCe**lf)y9+b< zT?B2nMe9H1_w=oRG&)A_Z0!p$gY#=V^O~)Z7;g)Hc-O7uvW`HRP-!8(FRm5f?kWe7fcV*u5-@Ac^LV=)rG6(LJJZ!B4+OreiIt22`?|3wsrQ1&KyCa=TLY zOU-7#3?djm*$@m2Sw5jK#D1|lLHy#gqr#;i=3i>>*_K6ckUD8zk&zY>wn=8mw)T2^ zc3wG}FU<|xZdnvpX$m&{0fjsax%K z&6-!AF-yrGwy9>s0Q3jimxDVBjy`?9U%6???ZOsOl5Nw*O$<}-C$=Yn7{YRNSYKai z%zmmB7rRSA_~-{UR0ZiBY$*IIIlQxMwm(#wypb@azu#JWX-1|v79Er1_^x8|#0S$_ zOSqlvzcK{v&MM=MIQTmvYab*f8adTJum4hx-O4oZHys|M+V39pZsg`5>39~z=@E6` zkNm_ZiX#>2DzwZW5}U7^8`+pP+7N2^d9_D2j*^GDk9D`<;yHH6E^W2JHcI-vqx-Db z9Vf+W$7JSx)1uiIf&vCJ2zakoebDC^gg5ZkqyCkO!!wZtFhhYj>$*bw?@t#Ql!^KW zOL%Fsv|`lDE^^K3{n;56+97NOFe7UZdG>kc{+((kr8^vGMwIl;udRDWP$a}AH{8Ji znXax$Nv^e#6{Mt04d}u0eL(ZO(^2pcEA1tDo%BH>`OJm3Wejm(Wa&a}XzC`?k0g*k z%mj~4M8aItypM(xJRwXSTgE1Zt<6b_t%C6>HqhvySPtCJG4#gfvshtqZipa0&MJP8 z_(bs1qU7Q{8;=-}<~B7Vv~%nI(zZ+QE@8|RTtKH2rG9DNwA2C*ZIM)M zFB~~Yb7!$`MshUuyfwT{8#ZHQ z7hwgfmNk#JW*47s4T&5q;d+;pFle!{sQ*=T(`<@OEbM42rj7JOP~?tl?KM{ES;?h& zX^XA!iF$ZXVUcP2L(m_oJ&!@=Q3;zOE3C9U8(+2wmdH1+kWo(VAYB*T9LwAya{;*RF&!S#rxECoZoTq!Dji zZ@0gt%Z0LQ1BJg>cgBP~UrGADtkNPw~}sJer^{`@060CYyKw6ONHvoX#6=quE7cUKJIofi(v zFiXlb!;oRHM&Z&|zVqe0gd-u+C6kXtbp^Ym_xz{^;#L<++3|NN9=&(d* znTsVB3<JFsd#Vj>mk|_Fs?f?e2oNgdEhZ5hd~>@cBmUQShbC z(NUuLhk$@XBHPX*D45{(NKUi>XG=I3=H$q(doR4=Qe2jyR}}qdJLK^pFc`)5f2JXF zGZL+SZB&C9M7Nz)LUzsodR>{EZ47!W!^=NE zpD4M^HD^ZzJ{T0}2nuk=dI_MTBa)sjuDmePr95lSY9?yc+5t#$8i{!9>oecl+GFNh zeVa7D^MDp?v@)^+Ou25GFEbTY8ATrTmiEKi!to;`9dFmvii+`CRV0!qj11@`Y~TM6`Lb@7-=_qc=Ys5#k_kGxnAlR&j zcs%k(_6BEIe3AWa?!$q*yF=jp!>^+P^sTNiG@eM1&}4r0p6xTATj!Iy&D=RfKk>j*>d`@QXB*4xgf=k zi?jTltnE|*+@ow+?YSjMVc}R~x^&g?r-trWr>==s7Zg0Gh2wwy>R%#H_8w&^gwk37 z1#+&fe&l5!n!)VUiHE~$A70wd!yD{c98T8Z#;Ba&l_JFuI-DbI@)d0A#lN>qiG-lK zM*A>>F5V?WS=AD%Rrks&)^}yj(z&U1JT?4{dvRW6`=7L+_L&Kk{%x8qzBIPOuCDZ@!n?Mn?KB7tFaW{b`I#w*><||2%{l ztg|1?NKXfHmt-NA97st!louqQfH)hd6!$Z|aM){WjU`TfDXCU}1%ue%r;82EHpB04(6oaZGrNIeF7a%tl}ii^mPZMQzPZt=m}ju{NPwIA_26P?HvgE5<+ST zM@buZ4frK%p6UD@{H_;bIYGGkGJPrV_3IHnX26akD6>*_?T84twe6T1A}ux5_#_F; zV}JfsvXQZ~d{0H=N6th`JM`i{M_2u-4q*kif!K~`Y3loa-PykF;Q%lr^+Fx}eM{q~ z&Nxh}V_*vFfFFZfZ^U8-oxMQ^#GmLxMjF{j+F2G<-}btHgIB8cuCkU^NM!td^&U8| zyQ$cu$b!B+IF;%y21?Fbl^`uE2Xk?mri}~BE4bpC5p{%JQSbuF+uV!~$->+D&){LO zOKv~V1-+1qCVBDYachUOowF+SR$S9-ecH+HjfbGExho`)SkzTXs z9L+$H9@idZyR*?U<*e!7U^6I~|GP4rfISYkeqgv!(3>bAP{s}~nR2J4-sF^Ool1@* z-D4SfH{$oD7ow~nob_pD$qCSqeZQbEKQQKDX>xhFWeU`+1UqD@{&qpHzTVHF`L+7n z%?La6sw;=;H|{v+Q2|J&t(|_%KAl+D-W=S-mzF{czMxn_7wf*^4ezw(F3P6RxJ-)= zti(bmsNjq86#~drg{ik~`0XrfN#1EUj!U&ZuGdQqMGw2*S;}9-Bu4SehLB|?N zsRVF*WC!4wtGAk$e|o__K>b0&-w1G0?;~JBlArI`JHQ`!{ae7R z#)p6CIyskA&2wot%BF8Dr5;s;(KisE+V5#+Ij(RnR+xz!GK17h&3Uj~Lil^_{yeRr|Ez00vJsG z&60LN_|-+rIDSyX95?cZR@2O9--Y*kBMHOX;tXnj(~py?k;x;K%d$fQh05WuTJ&@p z#=%qaPepY4mTYUM3bV4hmstvDGr9Od$CpK)fVDZEy(gXJu%FF$5C3^tuS04krwwTa z-Vei=k%xk|U3WpGO5Xra2c^j+U9SkP8S;t()}$hWz~121Vn0fy&^oAq(4j&3 zU{M4w?^P8_Gvd>%JNivraBK1<)PXCQC0SAsGw?enV9Dd^Ryn0OxBee@^uGW%p7}Vi zV04nSvsyCLE<_!4HPvf_gMO+>)&MF-g%LuQdH!%VYO6y!&wKgsK@n13Ui{f>nBaBM zly7cG5E2x#=_uEJ5MF3~Y&H!POKcEj*@ooBws2T(PmkZZd}@?*BwnZsQaSv+vxV+x z$T|znht>Gwvt=GP=~0P;QHy@Ww@g(PwxV|9TwTs!6MVo#p{g!rHhoVMjz|OaYWk9F z>lF(BLvm;*hl4&F-Qn87o2YU=i!!nm*BE>lfC2_7>Qp%CyhTY-@d&B^u8iMg`GPs%oV=fPQx*XM8TY12%2@*o)18ehk z#Dzli80gpOZIVh)Gvez;2$K2PZO_CWZjMRiZ*NkBd+JqQf*dGpkSSadjYG~Jb~FYI zu>1%%C$F|lVb!ee+L%%{lyTG3-YQMah>7LM8JSp8Kx^{Z#o4QacewOot| zDXOEN~xH92|;^>YE1PJ?TgpaTYHW-dl3{h>5obF=uNlOQovSzSjx z@AGd>e(vRY_#N^W-(ThjH=u9d_MAs3xX~hvMd*|9gi}L-v>BfzD$$0P^AlY7!T&mI z1zq&^Z_s}<7JOsPVrD;a7bfscQ5ACchhI&sjK*im8jGPnwCq7c0tN*-d*M2uzeu4k zHd%>An;!1w<^vmRf~IC$K!>ao4HYG33Z!oNMNf^LF8&`pkefXq(T=>IAt>IShX+k; zD%v3{E7Liw0WYts8sHCbk?mDosz_NsFkHo8++1AT+{{MJ-@ixAWR)%Q=}+@O&i8a~GvwQBA6Pi9t;BexM#dI^IdYK9g9V9${d0ceLcV3Ky4IPe57iy$F&&b`pwk}d0rg&vk7}6NKKu-saN$e zl0rjIgQWcoahTJSGDI*}nnsoALDS}Qu)Fw)N!1s!K-2q|G?tWlkEOuUlLA0>g-dk5 z6TCFSsqYH<&+j4yZTM+C7sTS z?^(gw3AyIe7 zOVeog!kQfsK01kQS(*bYDHs^p<3CqW$B_QIY9 zFUy*LP(JSEd2HpWVD1P;&F60vYpV~qI*|Vr2$bE>abmj{~j&!yF%Y_xT-3u^uo@EIFb7=&0>cx|E9VJR`ZS|1%jb_t*;?<4}tPCE*wsZ4R zIudv1QY(UW^j#nU3rlYXGM+lS5k$$C5GuP|Mwr_jCBpHZ`)Ea0i_hq$nvF!ASBwSR zs7S`14Nz9!C)N#y(H?MEC{Xok8#29-PT{)F;Ait%JUY1^mTq~GK4RyT;GiS@odWyIqF;9U({S#x zSlhdqaj( zih;unX@EQ(qn&(zWIavLS11Hb|F+OFyF+eOD*eqWuKqwQ`QZTU?x^gqpriT3C~39N z_%?8IMkcYDnL%;=tnJm%;VuR#?VlYk>YO<3vK{sT7{oG1egoHGv-^S=346?sN_hBl76(TwDeH@PKu#|$qhJ6id$vm z?eI;gK}KDeu^I5o^9@~>=cnvECkem4UO9yuFkSC8xbmZ@5|y9vaH%N(i)8j+QG~T7 zC$o5X8?J2_QpgiD>RG7!8-lWhV+ z4;O_-w(FXR4|!GxJK(J5Ev-!YhzOtH1XH!y$6oF_RCQanm8gkVnbNJiSkKYKz>n9e zFD(<%cfsG{`Mscv^Zmme+W4(q6zIDkH8qvPcG?FN;~mPKGtsd5{5$IA7G4#DqFG)) zYx8+&V}t|s=da}hSj&Ua0vkDa(8Ra2yD9!8t|v>_A_!V$#nY2QCpG+knELW~sK4)j z@4VyPq7qp{$PyuY_Cl03*&9oZY?(p!T_t-A3E4|oA~cqleN^`B>kMPbzK-442ERM{ zd>@bBziIAr?m6e4^E}UUUuQS-WxZXi2@=|~xt3EYgy7Rao8HiMDLnpR%j#dFECU8P za+5(xq z)qG;Nf+Ei5b?hxIx%t3hH3Zh_inp#n)OO>`GxMO4Z#5e{86(I8*>;#cZxm^0IMXL{ z7aW=iWzf%VV#!bfxuE%YA?G^Zw0*|`1SKh5)w%CE*H-FpZu^3~9NXiJ+D&JteA%n> zbt)!9a(5Yw>`U#|VAS~)T0PFB+LeZxw&7%v5_dH zcHQiv98)6bM*k?O7CK53PKf0+4tQMMmfG6lS?+QDT}G0(;^PZI){aa1T@rD0> z6Ztx30z8L%Zr~OOH7h z@rq#j7Hl4pH%o>7;O{b4B9w{kcA&GY$!SZCfAJVkINLaN0}i8|^F{u-j#NdoE3X?0 zLL#O$Nrma&JbQUoU?7pYt!!c;sgv#M{%J6fTC0s~mGI_GwD|#(2SI5P&ofo(Asdf= zOp2=dB|)6-U0312ml98f9E9P*yq5`@38gW8u2(B+-6A)v4wi}n`^Vw~k1C~^qRB!t zO^yEZ7Hz)Cn%B4Rwosgds4$vfri0OL(Y8uAD1Msa_ipHyP~@uO^Lk;b!!Z67b;sN8 zgvBWnLB%@Ca%{$zH5~MqFkHQ?pg`4>3A)?u63nD>u%^~w$dVp8nF7N3R$|V%&`Fw9 zaJS$u?pd`hYBKF`XCm0qN7M0w-~O`l_4D&1BoiK2%?c(s#k%hQ1KuI9 zqfm7EGS=2&)$f}5c~?cySRy^@w?#Zh|v;N}~){n%w8TVmd)#Y&LOwh;6B>4moyNpli}}3d0?+S98{I z0S84KfQbptai59VWne0ufap<}ut53s4S%k8EEnuw%O5t#s&!xYXT_$~cXQCr+$7Aj zL6=+0s)H-cCqSc7Q5s;tfs@;BB|L6~Mj2u-Pb^V}koFzrpC3|7<{LclpHPU$uC!AD zs_%ye1X0;B4)gCCh0dY~cdn7yooJdx?#mDQ{g}N4k``7zkX|b~sirH1*&%3&#s1a2 zC;~8*k(!O<&r-`zx=~>p)$b2V9RewEts2qDyGyhBfV2jT!}^W#dU6*6b)h<|$Y#E* zl}P;pcZ#YO>1Rf3Y}l4nJ3lmNE$#YJic9KY^lonx62IwVRlD^r<$u5a_Z0euIR0ET z;r{iWN-V#B*-IsXt_-duEl>9kuU~yoF3eLyZTon%_2Q)ql_Fm$a!C!w3qok!9(JL;@$GP(HxfxTIB(L2+9Z<`hM!moSfIgC$Z?1Bz2cn9pN9;GBVsf}n< z=PkA`&*3lN`-=B_KSw|O{mOzBHG-b%Z!4-JzN%jJne0)w@LBFjq@}gp{Hf4o?$KJH z&fz~8F*DMskl&W*XkN09;~vb&e8af6hbbR(pQ}F+$UqH*arIk2 zuWr*_u8A0}zG1rY{tx%Rgb_}&C#PA8VpgsOOArSK#aHWg7M$u1dFan>CR0*u@+7t` zY*UKJALp3MiC9#qG=FX+!gde+&&>+Zt_IJ2EWOAG;Vl!qo|!sF{Q}u-&QQe9bRd0-_((d!d9S|3ewwkK37Or!HLOHE*hTzg*7-y*sAe_lJa#^P^4c zRvNgabN|>J?4dB3f90$GuRT9Kwkg9J@$3_tP|AUWBcHYKbfJ)vbJA8Nrlj9BdB5A2 zAr*Guf=XNxA{h~Qm%%y=DVmXiA|~$6wXMyrgE7C&S~30|7)kR=cADyZY50)Zk2>Hfr)sBQSz~kR@m%|&b=d#rvy8RVI-2E>gbf7xA#)XQs z^2Nyg$kJyvpPPPRxo7^I{axas3| zSo4MAj#cY3F`KyUgVjLq1HwfPzqPMz!nJ!1be*H$k8s}i`m>|>3eEl7lMR~xvo-1WA0J9P zU8K34(~0O>?Th+M&D*3NI_h%NexceW@v7j&ZlRFoO8Ypf_Q;I~RXPl%-m|BC`R)O4 z97AO7XO*2pPo?9fHm9SbpE*vo+dr3zY7d*1R{hqF_ zH6xUYBCz$`(y7G(gmA7e*aAfz(&~O0AHu{l^Zq(8mAnCQe4f{B3%~WQlcUsrHUFqu z=p#|7@#RkocSN(*S77eHN}=64G13pnlU-}u-A)tHVzejEI*KehsrEq%xOi|iItH*fw@72g`tZ6>31@KcxG4l%$h>ME1 zJoKQlpj`*6%s)PYX zLBf~9)B7kCW_o~jXWnpXp3P`E~Lz#Qx`PHg_*)`9OsF>5m?>q!n8(GQP`zRTLfk>l9HQ=#+Lq? zC#PvP?NWDiW(D3M3K;f^Qa!QKaD|{JlXG9Llq6nmv5CYqiTgZz0y3+ zTS;otsHg8GrvbC2|BSf>KgGufULXuRSzkGW6r+Penz=LK250i?$Iv z-X^YSH>i=LWK79IHhw5jEJ@EirAzdUz!WTSFUeZ(B?_PNP4xxL8fpt5Vu7Dit8FZr>m8{03RIGb_ihM`6e33{O!c zzp1M|0D_i8A%8Y~)&b2Oi$dy;0afuc`?!QCs=xFfJ=N95k zvYgUw}~IbPa>m~WHVvgZv2+4gH($CAJp7;YLLc$ z^5t79$3FtE%<;eH_me9Z{Lb@+s#q(}>Kacf9(b+B-=6zU6jVp`qBs<+DBdFi>1NaZ|a z=9tPzP0=lYHFFmc*>;aY)&`It^MJGRGRA>`8IJyv8E^~aTQEf8N}ADe+E~QuMaD$U z0n}}kTn*ChR1sMs+8YDLEcFa6ZY_jP87hH~FA0 zMKyJjWj!_%PH5%`e08$14J}aC>K$#V59(Y%v!QY{G+?9yEd`*t2btR@=f;JvM$q9q zrtVccoe7>tQgq+9xAfjKule4_fVT`hB)>fXipE?*ysIm>crM%XkmQ37qZdG-@sDz- z&_gUoy`!A-siBq_P0EWBD!Ja?#3bzFf(v8~9JtN4ve{J~o9HHE1$?fs>4-Af6lmgr zDNye(YgBkwk3VF=|Ge|8Re7M>BIH94}O#U_W48DHIAn5#}Aj3jTuGe629$p$;f*>u`ET? zmP@f)hddnc?l9aTE`)l;Q&3zHy?xtbipJOLA14EZ5@}8R#Pc~**o%74SyGbYyYX6ufpIEnj)O8tL@8hY9%3k0z7r4d7M@tarbNkawXj!UKl? zG3h|=@3LN(egL3^8TNfz+`G-%Y=^7c{j1e;E|rtR(kV5`-hRx=LL(s5sF|L`vj=X? z0FTu=m*Ic79T=z#AQel$BM`{>6C0+AECLqTgjhY-l?&eBF8r&k$?#Xv`a9oy@Nz7B zzC}qdH_xwpuzFlw==l(TlbU#sPU(SF;OZR&Hy2l)FmyU6)lc#70p4}{ChzN?_{p^h zt!01lqU_R60XY9F{vs&@MOoB|ob+5=neynv?jYU2b0GAqo9^G{JofCeah=I2Q~4>I z?x`U0=jPaHbJDE_DK0K9w1Oq(V8!-i%luj2#l4-%vkIFXI_}G+3F!~-v%?NCW#iJ; zmJ&JKxoGu-|ILu5l|5KEq;sMOS*n|IadTJ~)cMM1M}uFVWosei2-|1>Ab9b3~FbHvC7O=fS2%$ZZ?kmFeN8@iH4k6V}W`=r?xJ?R6vGek05so$UM zY+7xi$`xj04tY1a!xF|I>sAHW#lVk*@9NJFI(=7Uj8D?j`gVGTI97Fq4Zr4xcC)xa z_s5G8L(AK$5p}V5o%$9(w|1YUrA?_RlrE}z4iffqcH)zROk0R;>zA9uLFd6w>Wq`f z0SqI;%cv(%?|J@TxOkIC+H<9pj%_#7?Dh=sw3ojGvppvlyibxCl9n=PcJoyA;U7NR zZ%b889uh3Da-!W|EhYHF0pjc#dV^he-~b<=T4%VLHEI)AzFQ4INeR+Jv1w)1hHU#~ z^Aux?lI=BWNXVz~T~nbx;v7&*?Z0DOSvqQ*rm8I%qlSAcOfc_o>gG5E_U$%c?3yN> z=r1&eBf&{*SJ@LPflM&So|4Vy%lnNUT(P)b9|1H?gmRqRKXmwyMygMC2$ouoQr=7Z zwIhYyTe!l$H=7`sCz($x8KmOWR8_zA2o1>rvE&iHhvqqeL7+c}J4&3;U3)8EVSrzp zzfJv#Gsak=V@srD>qHs^4jnhz2UEt z%Pd8FT&-#?gP?R9wj-1mh&U{69=p;}4IQ@Jz{AtqVlUPhfP zXDV}DlChj)-%eYsIsh$HaR@0iNb!fd3Dn;Mkd7(+s+QuD?av2k;ae)r?-vhY_1?>=evI3jc@#=Rmh%ANf81NDnGqNaYZnWDyzZcHI5g$ z8*9>m`K8_YNp^V@$+G$Wy@zE{L5O9bA89Ax@V$QzIm&d?ubI51sG_P`hA*DY1gUP3 zx(!wmI&GW&f*FXEQ}4LX?-efOIlqP0SfBM*@9gNPilwS6dt0NOOA_~V$zEpAMcKE0 z0hTaQM))|lWIXH+o*&2v48lXiW;RZ%P<9TFRV#>13xrSfOeCkZ#OqkQ zrRf8AbzJUEw0ib2BrNQCt%~nxB}hq(up{TJaQ~=ig5&c3_QEB?E|cxs7LFHwQ{x4!^rUqB*$*N2Bx@~%`q?Z?Oj&j zd0T1Z%0ZHu@;1wS6&J995~0O^{P&kTZkj0!nJd~D*{UA$+||~-=Z&|J6@KBr1V7W- z&S8VTVX|M%D=1w}tSnt(!yoVMc!HI`dKg1K&UGzwEk~E?=eP7mfOGr`Z+>kh7ysMM z^L_d#Vdq{7VI4jXq$qHMU=FgZ*gEn67DX9k0i18B_z$3aFDDzPf8k!2!@AvdB9RBm zR=#c(Ten4n#s=S9WcVx%B=~Acciab8PjiC+Hvh2}$%m$);roMfp$$Vmq)q_m=wAyV zJnlM_Xy$owL5!t%Z+`lWBgvqjHY9&`%G+Rs3RV><=}_u@5ruANcuRXTt6HH+|P-IJKW)g!h4TEp#^PHY|p{1<^pEck}klw z;WOt_IHA+9@^m$Xiq(s1WwU?btOjbWaF;d`w+y?cHVPTp3hQu+4iaCEw7I%1u}RtR zguG?1eB!=1o>3v|O>Y7pR8%u*1ZQQ5YI7Mc_?0`@slI$B-NP|%0b7CBYV#DbR`zD{Sks{?TUMjm+s>+9=f z4iFu_`wkNm5F1>BATe0I`G(D3i~^1`N962J5}@ZIW0~ z->2{G^}RP-m3Gf3&3)ha3EhA2>gP_F1AXF&PACi>84M7NuB6AqNB$;=1ZyB(&kk<$gp34`;O@gr+6G5 z28nnLQ@qUE+lo6z4Ecqeva~9{S*iajO9+Oj+nd_~7Itkm@510|I4iv>IPp(yGR@~p z>J{sSCxfWedB%m=GbY|Terjf$MT1U46WOD-t~7aDiaV5U?u+H+8TsG+dpgIV`8}Ix z0!P4ZFfN1&&T?`}N)ygCUZRz^SRN$od8N3Ad|h~@=*u(iVE04j(DfbxTy2|oF5x$e z%VxGL0~aRGP*Nm+(pBn*W^SH7RNh=u;x8!$QCs!s1F+|>lTXaSp2JPF#wPa%c5uZ* zri|{e4$Q*O5zD)Xu8NZ6?$yYROJKO|$gaBCp;HtrQz=D(kJ?L#-uMeXnAVe$*68r( zaHJjmrh*A0a7g@I1>5?Jaj2;F{c4F4`)u4`7cD-Cj2(*|($V;^Vl!~*MS)&_Ow$Db zNO82=kgwsDG+MRG-k1O(K%zCZrTPDjCfvsu*X6-c_M%_^o;b`V`66S;Yf)iEw1Nmq zVW0FQCWZ9Ros1Rj)iu`|8+aPg z{HRX};f7OCLF^<%62kp^-ijmg2Uq_T(}6A4*7^V5{1@PBIT@rJFqlZKd25!CEuwC{ zsk%W*BI5T&@@X3U*lL{S`jnH=!gDm+^}W?}2*;qO0P2(1-<=GTI*0)lxgq}#1x=ie zEz9l7+86bO$jEdahzD~(4MN-SR~>B%RL|Hqu2k8WZHDzzRIT0H+1-gd@AJ*?cbl65)@zzfOIAYbYnN zBp?CTY2&J3KD)pn@=lS#D&QS1ySa zasZAsoB-F6+4BPnQdUB1BZ7F(1YhO>9_qZudXvbZanHaN5ZET)+><@6AATO21diR< zB7m{$5&%*hF$;Z zj;@x|iburEzUZnEN#5OZi?9b27Zx%?md*))Hqv%MU<)RMq!r9jG#Z0Dnp3K~4hEXH z9S^8*$<7e`7u@o%opar6H`0Y&1>%#|8HztO$$DlLDTNMJ%jwfg3lK1 zddtCkHkGC@jF9I)wY}pV0-(gTv2n%tJxR!Yfvth)#udvCF8oh9_~IB{#w51z>lJUo z!V(uETWNgo?P&ATV3q5sACTmPuEmfC$|ok}95;yn3*at*wCb+Vaa{0zi%XByX4Sn8 z-3@RvpUqS9^dote3${ywe^_{blNamWS#!I_(n*9g%5W?{)x6~at8jXQvj{66-T3ch zZ|oJT_TEl7MHL}wL>mWwF5Q&}tSOApxoCxVr1^s527sL5ExhTFKHT^C!AoIVI|#L2 zv3HskU3<+l-Q)DhAe~C9YNk#&i-KfUXa+^_T?u%PquN_oxn;N$ZlT+-8tL*6xQ3{c zv^<(h$}}%bGH@j6SlguRuPmV%bQYN^zGKt$B6@5?nv zwP*<^<_kmIu?@KYf_Q+XHg2W0YFovJ%N1gK0B;2pq8^5b0^ynP`SFxd`3erN3u`MM0>_!*#{Y&lRz&KbtIi!4_|Ebxe9N&2_0 z|AZ4B4-E`7pE#O7e{fCQo-MUk_A+zA2}AdmO~vNCJzuG1Wg*Olrg?r( zViVztwPr}VxGh)V*5E-?yBJYjdCUQPRfn`9|Bj|ZfZzsW7(oo-C!(|14de56AW|LfPH!gF>{)>&m6&6??jhD+C0&Vj<9xd9a%XNJ0%852- z4^BP0hY-v#6Ha_!>i|6W@5I=H8d|;CZ`XOCyW17!pSgF#5FkgP)loY~rC{}QmQF{!J?AgJYfL78V2JkRxJopeyfBhA1Xvu4n7{Aj1|MuY&g;0!Ewqwmx z-Om;}z==lSgu84r4pVR;zt8*&4_EbhT6AV194DOE&Gj81Um$*ry|sh5jQ@BBk>K6n zA@K7?V1tMMsQ-izJ1QfGh9VbyvCV7G+EZ$+tkk`+tii+Ejcnty!2`>%7LUTrflaiz z2gV1{Af(u2V-2VXK}O#{_+LqoDv!Q|-|!-#8IM+*{pDRL?qn?=YI|;kGfESK-8MH^ z!wE8hoXUv$ny@!?!nWV{anU)yyAYcB+BCJ$)pIStNuLMa{$20N%B?JYEeAUMhW8u+ zm84~qu0-*X3t=?pzoVG-Cb1h35@_+R#Q~$D4N~oqXj)zQ^t=_=X}$hY-ZM4B1tHfh9y$ z({Jn#{ciU-y?h%fji%Y;qSXcDgDJxTUR3i2I<2+cIl|;-!tzQBs+^5T!3b1PTU2&A zy`c%R0y}UFU78}8!#!KeK%jBHfqk5S^1y*PCPa#0yk}-S$(I5WImb`1 zb_Hd?FoI0w$+hr7#3l~AkZU9AeKR>#6l$ykhu#plxSB6E1x$8EOnyF995Ro-#uz~c z0Lm)7XTaCdQswuW6G0b+$buULAiqZVMlL;m;Raf0(IDz)HsHp4&Psq;SsN2^`#vxT$|c63~1RLo2O&Fp^N(`X#g zi^~jn8Cu!_dVIbJCp0&mXekTw$kzxmJ7~@~(EWNUiZF?^GmHKxfn#6x{2q{sqeAwA zEKz^hU%|-c?|eg4aSou%)D>P1T3m836!GeaJ|>; z5uCL&d~3%~>JY=97)IW#d*zGKA+XtLm&y~O#Y473e_}vw?S`*VJ*OTvyC3wbU%p|U z9zv#xSugA&a{eswYWpHyfToK@-u{y55|ojZkraQ@`g0;RVdK6h-6H zPy{VmJk~0n3SUntTzDN#lYEba6rsa^dYG!I3P6TT7NpXa9^6+)xNeyN&YEX4sl{O> zk^Jo@WVMIWc@{#IdeAi}ne&cW7@*b3Jn_HVjfN?y{wL>r7~{A)m{{eaBA9rfVd@4g z9w1gAx%+uX5mFB^3;qdpwedCpRZV^-rT`=Ja4Ho~7Tpij97t?q5XJ$zGcIXa?Uhs` zjE++|m_LLOD7guo3^5=x*t2YDd<0r804Ou;x|s)_rIFbq;*V*;FCKl>0{B|p2YIn( z_{K}6$4oXmZb|3x@4)jz$viCDWMG1e>-h_n4Oj3ZW@gdL`0sa?p*u$vBNi|zn4@Ur zxaT$Ko|o%r7_wV2Hk|G_3|#HBv}LyVpMlq*wm7Zqgqyt3)4O3!DSe;;UYy9J#dp)+553erkNZyqgctx?0N?WB*|`J^w{qqg==lh1W@8AN1NF=M*F_x= zzME*FV)?jEmqw6NoPDid{v5;&?I8C7IqobTGPckLQZ%(S*Fn^uYMlv?-WvWb!n@6AqcZ`xy9wlVLmX z&_(apz*+X`)+!@Zw3*nQA4Im+PcSpYX=--#Ei779lc*3Nu%3)L8m9Xzt=>WF@=N#` z@8d&VU<7B-CXe1jO!t=D2N#|$duTThPuV~+LT^t9MIrwa*CMDdU&hbutv6c&)xXlD zhmweaKKS*)h_uvvmgCRMt4;t08!bIK|0Ne`#!7k-mhtwp-Q%y)(q`ro8Id zy~gPzL@T|qI~pXT72g4}usib-AUYs-Pw{v$^ zA}7E{3?mGAt=6J|lx0Ab=vRd-{oA2$M9WJj^k-URqn--GM#8l?Jzo{5=@ z{U~&n-msI9k@%B}-T6J^V&)7Y=6iKxg{?TF{x%vbIpCjvL(>jjqaNL$vCr+XR2onP zh3`5Fw&lN)2tNawYqHDqzn)J_#!)ru-A;ItjU(o5UCb&?WNq>Q=5n?CCcqxkJ3+<( z5E+F_?gdL?T@E(*xu|xB$1uN0gA;((8-%|S4EO~%DYC%1IwzZGs)sKIfZ$*+q{*DB&yHE7T+1jjVwxlixI^9WG(md)XtwhWE~bsh3qNxK26d(UgJ0`t zgNNwfpI;_n?09w%IhUD5Z)afpW3hCz8z5Ba$BjulAW{Yx01r;!@&o=gYODL9VPO%j z^@T(gc0TBw#3E3zYVTWH!?SM*Jx_O9y5&0uFYJB}|CbDG@?TyruQfxY_zCQn03Gxl zIeXa1t|F_7zzz1P6L2pUXR1YNW`^@ut5=2(&>D&-c zQ&T%Q!uX#@q*v9}I_+mdCqXFHbHBJZ){obr{509P_}{z9eon%9$iBXk4!e)w&YV@) zSzbCOWY0n}fpC-*ZHPMG~v*JWX2 z;|p?^pfM@gMEVp3?Mza~pgXIVgTrlx$V0%yGB$Q9XM;j<49g?lqG+04Trs<) z(Qu4kQ-PoO!neXUc_}fJJ(;g9+fgb7pnF~x?F4hR!e|`yp(gxICiX!uMVN^bN8s`m zqql;g05J0$-?ME~8yM*%!v>HF2M<(KJF5d{{eolIhHZ-A#b5kcdAoy%)bqqDTFt=H z_G)OUJwZVD(V1)F&9If+r7#)7-QeSxXB1q6?hCv4z{3xo5~nxtPNM`^mr)0u{pb*Z zT4`V!eYjTNbqRls7M1lpAQ`dK@T$7c$`}6iYYzZ}*Os1%nFfs|7%p1eYmoYJ{nL|g zS_l|D2e1hnfHNs7>L9q`ef#B}N)rSv^fDg%ITKbPU7%3(sJfCtHIu}wds zTeUtr2M{NtzNb%?I_;HqTeG7GB6Xx>T*xT^C5242n>lX$7=4FJP@9TheNT_d*-{u3 zn+pYxwrc#Gi^`RT6jr`JUJ=NlzJzACs5vn5Xx2M@@n}Lua`eOZqh+E>x?LxD?rI;j zpYSq;@x+x4T~PT_E%8IRbJ|RbkC2?8VYCldv~%`Spk)WoY#O|rH;ixc5Qtq^LJ!&( z-3R{L@D`U{J|rR;W{k-Xaz+@j7uYcpd&zP=V(mh7^8EY_u`09=PD_|o{e|?V!U54h}HV6FZ>Ia z=Lc6AWvGIQFw}823K=SNOMd=Qk9+pnOX$JAVYzQc)T?j-KtoP*9&s#F=<_HotoT%$ z1cy0q_1J=U#9ntXo(X2~+4Q)Xa5J0$fQp(Xyv=9Nk6oShcM(C)zrzmmB9ZHlvX&&U zi$}~r6a(|10^9}ru;_JES(m%sI#|44jHFiTlSlji+{1z{UX}UenuY$?#FjAC%Z+HE zBc}k@jfj)RjNM&ui&~uwo9u55$LH1H{<2FF#d8anw3x2Jk%wD-$7>APvQ+!({Z;Sa zquwCb9=?wD2XxBI_*-mx!+_DDj8W#N7l|gkQaq@k!c$TmtbL55248M5JWS}EH#A1T zv=o8ED1`hu|D#m>R-hA_QhsY7wk?Xov;B0Q|KLpGdnedd>MZzrjjaVY^i<7nEUZoM z&`!~gBuxH z_fA(UN4!d>4Hp)=q>Bjp&BW%B&jX1kA&NRPaSHe_r0V;Q{KA@0F!n}!U*Mxdap(Gm zLi@<{f#- zXYki{=j%nvwhTZY$u}WQr=o$V5isQC@PE-XGt6urz9SQ*Q7`%bj|;FDkkF^+_oq-a z_QS!GG%|UvRw2;AQ>@+^)Peo)vvLZ^L;7DyX#$h(+O^musXGlURdW}+Hjc6$jRmfX z6BIb53*~IvdgaQ6yq;FNuxE2e-;TzGY^d~&IcmyF)wz#)z&_q;VrO$P+_)iZdp}8z z0R&f9p3axWha*$O;J$W0hDPmmvJ6Oq3d0n%4)e%z#a{=B8r}eyE88y}shHU65G=Bn zo7SUgAlm1wfU1-{;IY2VbgcxW82-^bA?EX)wU5QqGLT}CqRxMP{-SD830Su|ou=bR zVN70;IPztfL5?h38>GfXPur)sFi zkpIsP?TwqG{CU2F(|}9rD7QsB&`9JsS_7G!D_2^}%;r4-(r&nRBOj!ef32sU4)BiL zl1h?plEbI6-cfsDR(ur6{IPIi+v*u~7gHqfKtP&3*@8w#sm6X8s9(Q4>ek=M>sRGy z=Gi$Lk42dJ*y5j}-VbSO%b@xNi)!v6RCv5g1K@qe!V8T#ARO%3?_IY78Y$4gm>w7jtaP1B=;~Kk3}a)(rq_YgzChDy zw0L?9*p;K)E~dh<1!)d^Rx?`b5xY|zQQy;Q{3 zAZ5_f@JVJ?LuZYd#W|wK-80m_Q-ohp&F>4AZh{T%u=0t7d^+;Z|gn=xD!|Gb?B)DKnQ)R zW^d;Ve(V|#87(SL-23qGmeGX&D7oYT5Q7;j{8$){K}2{Gwqy|Sotz4b?RMfhHZ8Kx z1{{{9@9-mLd(4PAcv=!kAjg)rkx@G@oZ$CSwlq6?#+t&$5kgwWQU+sz~5@ZC;d7T%$1YoBcp5V-uTxp8+)#2z+d%S21e%z@Ht^guca9dsr;&PxsZcwQ9_vk?Ic2cS-UP$3A_ob6@}2DPtNICOXUb$N&-tt8_ZkzU=c@gN~N z7lu7`uMxsuN#DhQ4wJ8F&5lcFK^y+cImZjZxKg9=XJSL32jq25E{oLxXkP%&!C(OW z&9_=e+%cCks_?)EY0aCeny=3NfDC**z6NN_d{A6#saxl((M9Z7md$^`VcTOjI~+aN zG1>f?JvbWd@hiR@4XcBh#AA>%U-44d`^v4?$#bljnDQ1`+bMfka_T5|%d)Ig;TD>v zBYK?C@IE4v@#8;13deX1d(>63CT6y?mmJnO)$JvfO9gjhrAr;=;^l<~Sn(Wzq(GpI z&1+8rqK64*uN=2&@d`#2g7x-={FGT}!58{BdC51P23r@e^Nr-c4iOHd-~4yFtdjFz zAkX*BFeh)EUFilD_KqLs2e_wx#|}S75i$bD)B)-PcHa0M+QqbN9Z`CMMjsvyr;`1w z<7ZMnl|BG}p)MCRP=wfu8$9F_-eJ;S^nV^W5vR5OvoTO;JL=PA8@id}+@|5Q`eO=( zsVUpmN`J!=MnH=KlI*z;-Dh=$aU+479s$ST3p0iDYm+Fg>%5^q&DnT`(tH2|oV4Qh zFDpA}k38**+)D(t7TJQKM5d63Vf=NVV7&^#*u6Kq0+09Wln8jNc(>B)va)>rPEnJ8N}j+s<3i983}xmKR1YRmaj!{rIsKLeqR1|4FkYdnB^RbE6-PVRz7pJaJcmoDxCk zQasG#%+f|Uu%qP6@sB>ZUf!>vEd)gemctaK?hiP2mJfc7qEX%{)Blr{4I)Kr zkQ;RyqX*`crVMVJ-aG7-?NB(7782VUZfdTS2UEVk8)OxY^XONE&V~8{fKFVygq5t! zs;Z~Sj5)c5hD{a|@TyfD;2q|mN-1A48HeDgIv(Njo)U3|>mf9Iqt|4KA}Q;VJ;lr? z2dxoFKIo;w+I%#5UQGl{)5`b9leuCL(pm5Od~<2?5Ka^ay|>2fEY4B`Cq^EYTZ#+V z%aR66lwUJ#kD1>;Pycn-@-*;XiGb84q4S@AgK7QoX zI;pJ@hWykBw=&B^wm03NUb%2lwvrd@?W%dADTD*W#o(!bmtF|oCZh%S5ymaJ58j7W zR`idCf2BB8p(Rp~5{ ze`RxG1WQHLFug1xa<`J0?7*#{!(j23Z^KoS&ylBYwJF|c@Bo05-`$c{e5!HE3B&R- z{9tcx?BNspbH?D466?E6AD_n`VOqssZpjK71Hu_0PRCjxj1at{mabua)-wdKHInC^ zoPc0@_UOY7X(a(${n7=@)?~{0hh-6;uxbE=>{bOCJu}?*S&QNB^M3+M?Te(yC*RQ2 z1hv}f^=I4lA&1;t1md5*&3kaRnvoWOPZFm=Bj6aC;1L|5bK6;RbAark!*D-vI@d1) zzAfgRCTwG~>$ro-FmB7ulnjm~huKM(V!_{g0TC%%!Q=$SGtfbd2OI?b7C}z%Fpjr? z|4pyf2p}sO?Yp-F*S4>s358OSYvnlgc_NFjIv<%b7*1H+ZL=IRzGts#`%>nraLCu; z&kh-}089K7{@-aU*JddH_k9R|Dp;g9^?xR(5k@HN90U3^a2fv#lxahs<~6mz19IB|eMXBR9-yEXMrg(=u}sL{K_~TshLC2EUXG5q6h~;lye7}gi8=Q&C1p~2 zZYz*6;qHHTYhryGJfu>VK+zQQdZ0Z#mW<26DdBQ)t*O49@rwe;Rt)B!CY{GzX^PH& z94)o2suvhhAoMVhUvXA|;}Kg7inYeJtx`)T$pIJK3cLuXp!*eF8jOMUH&Y>%=1Sutqh_%#;|0R9&8VlzqT(Q&1k=hi7cRxn)8C#&5r z%$c#zI>3~jyq9kjg3mjgZ3H|_DX3XZK3I2oMIz@Bv#=Q1hWK3pM}qjdJfm>2mq8J* z$j@g;sNAMkx`eMS8;X(#1=y!#R0km6oj78JU=*^5?@^q1J;<vuZeB| z*t$?bj*Cm4&3{zzvM8{-gpT5upnP-MN^0OHISwf7Gu!?4N>Oh0!pVvOH4cSRw1i3x zDYJxz28P=H(_p3NsHk4U>12tK3w9sf-hNJh+(_(xSu$Vp7H#*gP4h%b4EU+3DbR=! zVk4HK&?>36{;E3UbTb*0eFu)j4fOj1_2GNeYPmb9i#8>h!N}mT9zY0`j! zH=wDx`H_Ft`)@*{g%1UOVnBJ1KYilv+%GG+z;}0>U!kx|-$w2z|8Kq?yX9g{r(O$t zO(JUuldAp8NlH(~%Xs*o4)PCkg8+(pDlvA>MFw0yr1iTO{xZF1A_x!p{hAgMpO=*e zi`1;~QR%V#u)he}QX7AOs>V~iJgAi4t$VtHBl`Sq^k@y3wcjooNE6oU=qVQcNG>xDG!Vo8AVm)<01BN;RonU4 z9bsEi`A)a!nV=+)^^8k%wj`sIxr;FvwT+s%JaOo?w2>lJAQu`Lp8EsP|4;E<4b%~T z53Qw@D?PiK5?p4;_^o^K}^{l8$oI z=tY+524au}&S%$O$U%7e7ncAZr1EJEB$tlwdKoM{hC1GU?vJ)#{?SrtskHjEgvpDV zq(`o&Jtis38SFH7p=IGm~iu`D#=o)Axe?bGRg1OPt%$Obj)j&s@XB^S>`5>#;TTW*iV7ph3aZp z9l{>?2;#fO6hB3!&o{Pvi^{vCp-swF9as4#!amTV7|{Jt1dyx%j$63Mvd~Hw;a;ltp1s*n=NLSDm zOMWC$JDNbrH*0jO1X+F>bc7}N#{xpijoAB{8@Tk{KQ~~BWI9O*IF8TJyLrb=Q=87f zIK3ZUT4E%-?kibBq(4ErOxj-)CqMgv+JT*f5)T6)EjxlO#y{k@cuF>u$t;l*GnX0^ z(p-J0W3Rd6RQ?U~q4_i#w6}$;!lcqv?JZyI6;xi0OBKk@x5Iz_N2L;%Ks5%Qf)ED% zgaW*m!VKy0m@vSL+Dp73cXB^Qp@DliD@X`GY-Lm^dvTZ~FB=B#7`}9`*j~(0RW)c* zSGnQdOvGqdf$M5fw&N@P0TCkHtq&%Vej?sZhmfl zniw71>?UHn9EY{o5GWzue-Tg(BB@0{L^f=ITIXka0lS^%MPG8{d$VCskPIcQ=hDb| zf4P(od9|#M7s;j&pAZJ}hb?^xMM>w+g-a@nB?$*OUhKS#|6IQUaz2x{Fe-4UN;>M! zn5@x0>&|DzX0mWrv}oUOr~+_!of-c^uhUv-f#K|o9w1y3i0;@?>oOekZToO9c}ZJ@ zrh^XBNGUNAgtEZh&a#3JjEb{=OY4|@1N=bE!zQb*_pj5Q<$3+eSP-&~J0sXxMdru_7k&4#YG@HyUy^W)~iUjiKR3XZUt=!&y90NzDgC;2OMo z{BSeg76G^m@8b+hDQP?$qui4FYvMVrjz5q%xl~uw(=7JssP8Zc$#AXkjP{&mKjEah z`CCewLh@T7FAaX~Js&A`Z40phj}_u;Gxe@W+@WX}lJuQ8jBR$`sC% zGEmpIh$%UWM`EUq;xA!%Wbl_UXJznK{K3GXBKBD61X^TF@5en>(}(TtR97L>gxrD7 z0N#ld0qY)^Qfm8?%fhq{XrioMo_-^2HBj2!ChYJicGa$1hnB8VqGxqGhvcu|&>lnl2DNC8<}`)13WzlFWQzq_XiK_2l|O zHbKFA?sEM|A=3}e!PlY;hw$mCz?J!0RN)u+^j@=&H43NT-B5wun(!RHC@t69bq5S5 zwrxJfm3|_IXJ&ve%!ejm7h=g+)ncsIPz8HNp6iEk0hd>FD9Sd-t@4u)%GkS8T8}9( zJm7Vc_F>|6@3S}l;^0tKl%~|ch^!C|Zl|Q9YW_@eJ8gGs2@O?h4a58*-x@ja^$kQg zj^^lirWT_9*`~SeGLy9YJR#`**+Y!S0MrFkPK-~{n!jTa;CylFPJsCz%X|7CRT>q$ zQ^LVMAeBr;jEV6nMVlJ-VOO&g$-rK*{K&h}fx1u{XVbfMxb+~o-`k>a4aGxU*Q)au zzbGs*DXD~j2Y-~*3@Yx;0!UW)RE{kNRZy=lHg@Ha;ng)AcziDM2`R}+({1Vdd2GTW zaF@l8QYHh=uzz$>6(FXK)ykWS;b(-}#L+HeZ2-CJn5yyEG7ioHksr!np^VpCp&nDT zv|H7|VZ)_ib)nBDfj5*&Vqg)L&?1v3QO|Q4Q9rT2xyr7>?N5Xi>0=cSWBm zCoNoPgeeq_Lq%yZ4MT4ZQ-r|vmR6;@JlEu$%?o<-RQG$M7{MIGqz zlP_^FsHedD@?h=4YcVBhOr05{A^#LIrsI%4Xx)IF(jtX>7gZ;N^bfo-8!(f8xx z4ijs0O9r9krea!Z+H+s2Wout-N#F<_bDYldF1887dAMt)8NR4~Um7nld}W=Bi5e$0 z+Hp3JB?>}|ko zHophv1UpC~p$%w41E)TVLw!V6PLrUH;9eIaAGJpQ4uUFeytdJyI5smsRBwg96hzBI zF3G5fT{Fe$x$&UHIa}>}l1LBkf2oHm6l;J|F@uYY?tsOiwPO|KmwsKmJfCYvj8@1$ zTM)Vbm*fLdg8C|bCcsjodm02a_(-890A-6qi8o9Q3^JuQ#Ix5}A;ZJ!s;kEbpKt10 z^Pl^hw8${Bs~}TC>Rf@o27m9XDR4>9J)TAjlES8XP{y^xCSyUZRT7A;mDxdmR9?;i zxqh(=tck?7J)ef;Db2W*xV~pWXdj7+p^H+w zg~nHlYv_@LFtMrW#`EOWx?%bJ7FX^#j=W|NwdImC@Q!lDf%QfV+GwD1_3Es?51h5H z^y}{T!qPiF*(udA=)Idv1oU5)mcI8B12X4;TT24iAkn^{kiI796$Z_4^33}3O&e5T zFZkD0VOQxvr|2)z7H<#&hore1)_+t6{i%7}B8q%InRo1=v(sA=+KXLd>w0&%?-pY! zTm2gILOJb(I>M{npfcBMz`)MVzsN4QD}^K=K3W%YWg*!xr|NsTadFN1W*ao@$3*4U z>$ME?lZwafd8PSI{uCjF2 zbd3=1>nV5og(#cC+XxnZG0et834sWt+UznOHsbYIq^(O zeACsxbKw9lzoh^$7A2d`eg_UCBW}CE=GQniH?Q*j;cfQJ8u39*I16e@{4<&4Wr2eZ z2)2^gX3^x(wQwN5!SxB8y8Ni~QRV!c=e8Vb3iuU_143oyNK^>?ozU)02MO7|Tf$F@ zfIGZmwf)Jo4&wFa5s1%zcwBnpNX(6r$vo;b{;#sm{Ju{~eK$p+o>?Y3=I@}Fj`CkL zdj}3@l`Y{JTH0c98=>Zv3P(3Fc1SYt`!H+JW4RHk400q4*;N-^eGIXT&wCAV0Mmi! zV8>bgAFCVaDP>WQb1xJCC6NRV(DfeNXxdIDI~K|&{}X=(T`^2(<5jc`Rsg3%bDWJ8+aV?d~g^mY^E3%S&J za5j56(n48ma_6!=5$5_^=&O;n-ao1L{ph~z(ergx)PDsTh>1*ukdgCF@o3ISSuIUP zUoV$%xp>J`h(_$R#XZZtAk4;0wkyGwlW@_gz~{dHk-WZ0D;o4tm}7{}l-sUs=Wnv~ z(qz^*Mhc!C3wqE5<{ zNDv8R_gU*&Ia6fq>~0-Di7CCNs(^iI*r`KY)RKK9(U*O=m5Ua%=oA<*oT+0S(f3~~ zOHNKSE$`vwy`}5tFJ^0ag6vf2Z%3<8NGl1DPRH2Rsu@%JDcx`SS_Tqm#DZJ)wbh1& zNAG>28l^wEM^cU`!L^_#D6rFV1d#P45u9DQAH68o1x?s(ul^cYU*d1|17)D57t?17P zJy|OJb@m1_6o9*~Y?!vqoT@LE2;VAkeZ@Rvv7WL!l%DcU=nK6Kp~{MhvFe@sJOQgD zg(`@Xjvg~vHhnqX?%bO~kwFEy`D^M$3$aqhf3LL**di7y*CB#Pq6azHt$pNDaLbNX z%y9=eREm%d3e{K}TnxE=w`Cf5kVNeD_GfUZ)-A-_pMZjBukcea!&Huy^% z4t8R{7`&a>0&XYJO@F1IDC{_Df2F^_*`fT*=4Z;^g|_=*o6p~r9X9MS+DGH!gEyFA{vpVPs&c|K~Y} G+y4f3&O9jq diff --git a/doga-frontend/public/electron.js b/doga-frontend/public/electron.js deleted file mode 100644 index 9400114..0000000 --- a/doga-frontend/public/electron.js +++ /dev/null @@ -1,38 +0,0 @@ -const electron = require("electron"); -const app = electron.app; -const BrowserWindow = electron.BrowserWindow; - -const path = require("path"); -const url = require("url"); -const isDev = require("electron-is-dev"); -var pyshell = require("python-shell").PythonShell; - -let mainWindow; - -function createWindow() { - pyshell.run("./doga/push_server.py", null, function (err, results) { - if (err) throw err; - }); - - mainWindow = new BrowserWindow({ width: 900, height: 680 }); - mainWindow.loadURL( - isDev - ? "http://localhost:3000" - : `file://${path.join(__dirname, "../build/index.html")}` - ); - mainWindow.on("closed", () => (mainWindow = null)); -} - -app.on("ready", createWindow); - -app.on("window-all-closed", () => { - if (process.platform !== "darwin") { - app.quit(); - } -}); - -app.on("activate", () => { - if (mainWindow === null) { - createWindow(); - } -}); diff --git a/doga-frontend/public/favicon.ico b/doga-frontend/public/favicon.ico deleted file mode 100644 index a11777cc471a4344702741ab1c8a588998b1311a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/doga-frontend/public/images.png b/doga-frontend/public/images.png deleted file mode 100644 index 7c5766a9a8d03215742f71009760a448efea18b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2638 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 diff --git a/doga-frontend/public/index.html b/doga-frontend/public/index.html deleted file mode 100644 index aa069f2..0000000 --- a/doga-frontend/public/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - React App - - - -