From 2a241269c0a2571c13efefda237d206e799e0b85 Mon Sep 17 00:00:00 2001 From: Tom Carrio Date: Sat, 29 Apr 2023 01:39:42 -0400 Subject: [PATCH] feat: update personal site --- .build.yml | 13 +-- assets/scss/index.scss | 30 +++++- index.html | 231 +++++++++++++---------------------------- package-lock.json | 125 ---------------------- yarn.lock | 124 ++++++++++++++++++++++ 5 files changed, 233 insertions(+), 290 deletions(-) delete mode 100644 package-lock.json create mode 100644 yarn.lock diff --git a/.build.yml b/.build.yml index 19aea86..8f0cb31 100644 --- a/.build.yml +++ b/.build.yml @@ -3,19 +3,20 @@ packages: - libsass - sassc - nodejs - - npm + - yarn sources: - https://git.sr.ht/~tcarrio/tom.carrio.dev - https://git.sr.ht/~tcarrio/build-helpers environment: deploy_dir: . project_dir: tom.carrio.dev + trunk: master secrets: - f34d2d66-6293-4072-bead-7478eb611c60 tasks: - install_netlify: | - npm i netlify-cli - ./node_modules/.bin/netlify --telemetry-disable + yarn add netlify-cli + yarn netlify --telemetry-disable - sass_build: | cd $project_dir mkdir -p assets/css @@ -23,9 +24,9 @@ tasks: - deploy_netlify: | source ./build-helpers/all.sh cd $project_dir - if compare_branch master + if compare_branch $trunk then - ../node_modules/.bin/netlify deploy -d $deploy_dir --prod + yarn netlify deploy -d $deploy_dir --prod else - ../node_modules/.bin/netlify deploy -d $deploy_dir + yarn netlify deploy -d $deploy_dir fi \ No newline at end of file diff --git a/assets/scss/index.scss b/assets/scss/index.scss index 974293d..33f22f0 100644 --- a/assets/scss/index.scss +++ b/assets/scss/index.scss @@ -178,6 +178,12 @@ header { fill: none; } +section > * { + max-width: $reg_max_width; + min-width: $reg_max_width; + text-align: left; +} + section#introduction { background: linear-gradient($gradient_tilt2, rgb(20, 20, 20), rgb(35, 35, 42)); color: white; @@ -190,7 +196,7 @@ section#introduction { font-size: 1.225em; &::before { - content: '[guest@tom.carrio.dev ~] cat /tmp/web_intro.txt'; + content: '$: ssh web@tom.carrio.dev:/about-me'; max-width: $reg_max_width; width: 100%; @@ -218,6 +224,7 @@ section#introduction { &>code { font-weight: bold; color: lightblue; + align-self: left; } } @@ -281,6 +288,13 @@ section#contributions { background-color: darkslateblue; padding: 0px 0.5em; + display: flex; + flex-direction: row; + + & > * { + margin-right: 0.5em; + } + &.go { background-color: $go_blue; color: white; @@ -310,8 +324,11 @@ section#contributions { } } - &>.expand { - display: none; + & .expand { + display: flex; + flex-direction: row; + align-items: center; + padding: 0 0.5em; } // description styling @@ -392,6 +409,13 @@ section#technologies { height: 96px; } + + section > * { + max-width: $mob_max_width; + min-width: $mob_max_width; + text-align: left; + } + section#introduction, section#technologies { font-size: 36px; diff --git a/index.html b/index.html index e38fff9..5e09b55 100644 --- a/index.html +++ b/index.html @@ -32,162 +32,81 @@
- ::Hello, World:: -

- Architecting, designing, and implementing software systems is a strong - professional and personal interest of mine. Whether I'm working on - cloud, containers, systems; I love to dive into the technical deep-end - of various areas of the tech space. -

+ $: ls -alt + + -rw-r--r--  1 web  web    232 Jan  1  1970  intro.md
+ -rw-r--r--  1 web  web    372 Sep 17  2013  sysadmin.md
+ -rw-r--r--  1 web  web    470 Feb 13  2014  automation.md
+ -rw-r--r--  1 web  web    367 May 22  2017  ally.md
+ -rw-r--r--  1 web  web    662 May 12  2019  dynatrace.md
+ -rw-r--r--  1 web  web    797 Feb 2  2022  skillshare.md
+ -rw-r--r--  1 web  web    197 Apr 29  2023  outro.md +
+ $: cat ./intro.md

- My experience engineering solutions spans the full stack: from system - and database administration, to microservice development, to dev-ops - and continuous delivery, to single-page applications, to container - orchestration, to mobile apps, to automated infrastructure management. - My focus lately has been on end-to-end holistic solutions engineering, - and embracing every facet of the tech stack. -

- - ::System and Database Administration:: -

- Through my experience as a system and database administrator, I found - an area I truly loved. From 2013 I worked with database systems - including Oracle DB and MySQL, and maintained virtual machines across - multiple server racks with VMWare ESXi to provision Windows Server and - RHEL machines. There were various areas of my role that I found could - prove more effectively managed by developing automated maintenance - strategies; I touched down on automated backups and log monitoring for - internal services as my first step towards development. This is where - my interests in software engineering really grew. -

-

- While I maintained my position as a system adminstrator and database - administrator, I sought out and implemented automation tooling around - common tasks to reduce toil. I worked on internal services that would - allow for easier work on the intranet, be it servers, hardware - devices, and more. These include, but are not limited to, Python - management services and backends, Active Directory hooks in Go, and - web clients in Javascript. The road unfolded and I enrolled in - Computer Science at Oakland University to continue my journey. + Hi there, I'm a tech aficionado with a knack for architecting, + designing, and implementing software systems. Whether it's cloud, + containers, or systems - I love diving into the deep end of all things + tech!

- - ::Open Source:: + $: cat ./sysadmin.md

- I have long been a lover of the open source mantra and free software - technologies such as Linux, GNU, and Git. Prior to my work as a system - and database administrator, I dug into Linux for my personal devices. - Experimenting with various tools and technologies is a long-time hobby - of mine, and I tried different server operating systems such as - CentOS, Debian, and Ubuntu. I started off with Linux on my old shabby - laptop with Fedora, and tried out a number of distributions over the - years. By the way, I run Arch. + As a system and database administrator, I found my true passion + working with database systems, virtual machines, and automation + tooling. In addition to working with Oracle DB and MySQL, I developed + automated maintenance strategies like backups and log monitoring for + internal services, which sparked my interest in software engineering.

- - ::Computer Science:: + $: cat ./automation.md

- Through-out my schooling I have studied computer theory, software - engineering, networking, operating systems, programming languages, and - more. The curriculum alone was never really enough, and I spent time - outside of school learning about various technologies like message - queues, distributed systems, and containerization technologies like - Docker. The premise of a kernel-level feature like cgroups providing - strong mechanisms for isolated process environments was fascinating to - me, and I found another interest then: DevOps. Having already worked - for years as a system administrator and understanding the areas where - automating functionality was hugely beneficial, I focused projects on - more software around these practices. I contributed to open source - software around version source control, and built out complete DevOps - pipeline solutions implemented with distributed containerized systems. - I provided a similar solution at my work to deliver a more up-to-date - service for our development team. + I continued my work as a system administrator, created automation + tooling to reduce toil, and implemented internal services to simplify + work on the intranet. This included developing Python management + services and backends, Active Directory hooks in Go, and web clients + in JavaScript. My passion for software engineering grew, and I decided + to enroll in Computer Science at Oakland University to continue my + journey.

- - ::Software Engineering:: + $: cat ./ally.md

- Eventually I moved into a software engineering role, and joined Ally - Financial in 2017. During my time there I worked on several projects. - My first work was a project undergoing a migration from mainframe, - where we envisioned a complete re-architecture of our central - mainframe program into a massive series of microservices, batch - operations, message queues, and COTS services. I designed security - software for compliance with the Sarbanes-Oxley Act, developed data - pipelines with DataStage, and engineered various utility services to - assist our business analysts with requirements. In 2018 I later joined - on a legacy application, working with J2EE and Struts with - deployements to mainframe. I worked on quarterly releases and helped - provide insight into automation technology and future steps for our - digital transformation roadmap. Later on in 2018, I moved on to a - project deploying to the OpenShift containerization platform, - developing services that provided massive parallel operations and data - processing. I worked with Spring Boot microservices with Redis as a - cache for MapReduce operations. I also encorporated log monitoring - with Splunk and AppDynamics for application performance monitoring. I - was requested to join another team end-of-year 2018 and began work on - my last project at Ally. I worked on Spring Boot microservices with an - Angular front-end. I worked across the entire stack, developing - Jenkins pipelines for continuous integration and delivery, - implementing back-end services in Java, engineered our service - authentication for our Docker containers, developed Helm templates for - our OpenShift deployments, and architecting our performance-first - lazily-loaded Angular front-end. + As my interests grew, I moved into a software engineering role at Ally + Financial where I worked on several projects. I re-architected + mainframe programs and designed security software for compliance all + while working with a ton of different technology like J2EE, Struts, + Redis, Spring Boot, Angular, Jenkins, Docker, and OpenShift.

- - ::Full Stack:: + $: cat ./dynatrace.md

- I eventually left Ally in 2019 to join Dynatrace, a company at the - forefront of distributed tracing and application performance - monitoring. Today, their solution provides users actionable insights - into their production environments across mainframes, back-end, - front-end, mobile apps, websites... My initial role at the company was - on the Davis Assistant team, which provides a virtual assistant that - interfaces with customers via a web application, voice integrations - with Google Assistant and Alexa, and multi-user integrations with - Slack and Microsoft Teams. My work there has included several projects - I have been fond of, such as: + I eventually joined Dynatrace working on the Davis Assistant project. + I worked on some pretty awesome integrations with Dynatrace APM, + supporting use cases through organizational communication platforms + like Slack and Microsoft Teams, voice assistants like Amazon Alexa and + Google Assistant, and even browser integrations that automated product + navigation as you talked to your device. I was also involved in + re-architecting their notification pipeline and creating an automation + around our natural language processing tool which was released as open + source code, called Dialogflow-as-Code.

- -
    -
  • - Re-architecting the notification pipeline to provide reactice, - robust, and resilient notification deliveries for handling various - error scenarios -
  • -
  • - Engineering an extensive pipeline to automatically ensure code - complies with our unit tests, builds and minimizes bundles for - efficient service deployments -
  • -
  • - Implementing the Microsoft Teams third-party integration for direct - and multi-user messaging with our natural language processing - back-end and Teams native tabs with React -
  • -
  • - Created the Dialogflow-as-Code project which provides declarative - management of Dialogflow resources on the Google Cloud Platform to - maximize our teams velocity of NLP enhancements, provide static type - safety to our internal NLP resources, and automate deployments - through environments in my continuous delivery pipeline -
  • -
- - ::Teamwork:: + $: cat ./skillshare.md

- I love to dive deep in whatever area I work in, whether I am designing - Docker containers or writing web applications, but I always provide - feedback and help whenever my peers are in need. I also serve as my - teams Scrum Master to faciliate meetings, resolve task estimates, and - ensure the team grows together while working to enhancing our sprint - velocity and stability. + I later went on to join Skillshare, where I have served as a Staff + Backend Engineer on the Platform team and played a key role in + fostering collaboration between SRE and Platform engineers. I + facilitated bug fixes, performance improvements, and also functioned + as an Engineering Lead in close collaboration with the Foundation + Engineering VP, developing quarterly OKRs and participating in weekly + leadership meetings. In addition to my Lead role, I also worked on + projects improving platform observability, SEO, and IAM security. I + was passionate about building useful developer tooling, which was + widely utilized across various languages, greatly improving the + developer experience across the organization.

- - ::So, Me:: + $: cat ./outro.md

- I am extremely passionate in engineering solutions around complex - problems, automating redundant operations, writing code, bringing - users great experiences, reducing toil, and implementing practices - that keeps my phone from buzzing in the late hours of the night. + Needless to say, my passions lie in complex problems, reducing toil, + and bringing users great experiences. Plus, I'm a pro at facilitating + Scrum meetings and ensuring team growth.

@@ -353,23 +272,23 @@
Technologies and Experience

Containers and Orchestration

-

OpenShift, Docker, ECS, Compose, Kubernetes

+

OpenShift, Docker, ECS, Helm, Compose, Kubernetes

Programming Languages

-

TypeScript, Java, Groovy, Go, Python

+

TypeScript, PHP, Go, Python, Java, Groovy

Web Development

-

Angular, Sass, Webpack, CSS3, HTML5

+

React, NextJS, Angular, Sass, Webpack, CSS3, HTML5

Service Development

-

Node.js, NestJS, Spring, REST, GraphQL

+

Node.js, NestJS, PHP, Spring, REST, GraphQL

Databases

-

PostgreSQL, Oracle DB, MySQL, MongoDB

+

PostgreSQL, MySQL, DynamoDB, MongoDB, Oracle DB

Infrastructure and Networking

@@ -377,39 +296,39 @@

Message Queues, PubSub, and Stream Processing

-

IBM MQ, SQS, Redis, Kafka

+

Kinesis, AWS Event Bus, Redis, IBM MQ, SQS, Kafka

Software Development Lifecycle and Source Control

-

Scrum, Agile, Bitbucket, Git, GitHub, SVN

+

Scrum, Agile, Git, GitHub, Bitbucket

Unit Testing

-

Jest, Mockito, JUnit, Mocha

+

Jest, PHPUnit, Mockito, JUnit, Mocha

Integration Testing

-

Selenium, Cypress, Gherkin

+

Playwright, Cypress, Selenium, Gherkin

Continuous Integration, Delivery, Accessibility, and Security

- Jenkins, Blackduck, Drone, SonarQube, Lighthouse + Codefresh, Helm, Jenkins, Blackduck, Drone, SonarQube, Lighthouse

Observability and Monitoring

-

Dynatrace, OpenTelemetry, Prometheus, Zipkin

+

Datadog, OpenTelemetry, StatsD, Dynatrace, Prometheus, Zipkin

Logging

-

Splunk, Log4j, Pino, CloudWatch

+

Monolog, Splunk, Log4j, Pino, CloudWatch

Serverless

-

Lambda, Serverless

+

Lambda, Serverless, Bref

Data Processing

@@ -448,7 +367,7 @@

:: This website is open source and hosted on Sourcehut at - ~tcarrio/tom.carrio.dev. + ~tcarrio/tom.carrio.dev.

diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 249a03e..0000000 --- a/package-lock.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "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" - } - }, - "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==" - }, - "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" - } - }, - "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", - "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", - "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.4.0" - } - }, - "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" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "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" - } - }, - "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==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "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-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "sass": { - "version": "1.26.11", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.11.tgz", - "integrity": "sha512-W1l/+vjGjIamsJ6OnTe0K37U2DBO/dgsv2Z4c89XQ8ZOO6l/VwkqwLSqoYzJeJs6CLuGSTRWc91GbQFL3lvrvw==", - "requires": { - "chokidar": ">=2.0.0 <4.0.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" - } - } - } -} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..fc5b153 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,124 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +"chokidar@>=3.0.0 <4.0.0": + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +immutable@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.0.tgz#eb1738f14ffb39fd068b1dbe1296117484dd34be" + integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +sass@^1.26.11: + version "1.62.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.62.1.tgz#caa8d6bf098935bc92fc73fa169fb3790cacd029" + integrity sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +"source-map-js@>=0.6.2 <2.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" -- 2.45.2