diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..0c3a5be
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,104 @@
+* text=auto
+
+#common settings that generally should always be used with your language specific settings
+
+# Auto detect text files and perform LF normalization
+# http://davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/
+# Commented because this line appears before in the file.
+# Commented because this line appears before in the file.
+# # * text=auto
+
+#
+# The above will handle all files NOT found below
+#
+
+# Documents
+*.doc diff=astextplain
+*.DOC diff=astextplain
+*.docx diff=astextplain
+*.DOCX diff=astextplain
+*.dot diff=astextplain
+*.DOT diff=astextplain
+*.pdf diff=astextplain
+*.PDF diff=astextplain
+*.rtf diff=astextplain
+*.RTF diff=astextplain
+*.md text
+*.adoc text
+*.textile text
+*.mustache text
+*.csv text
+*.tab text
+*.tsv text
+*.sql text
+
+# Graphics
+*.png binary
+*.jpg binary
+*.jpeg binary
+*.gif binary
+*.tif binary
+*.tiff binary
+*.ico binary
+# SVG treated as an asset (binary) by default. If you want to treat it as text,
+# comment-out the following line and uncomment the line after.
+*.svg binary
+#*.svg text
+*.eps binary
+
+
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
+# Commented because this line appears before in the file.
+# * text=auto
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just comment the entries below and
+# uncomment the group further below
+###############################################################################
+
+*.sln text eol=crlf
+*.csproj text eol=crlf
+*.vbproj text eol=crlf
+*.vcxproj text eol=crlf
+*.vcproj text eol=crlf
+*.dbproj text eol=crlf
+*.fsproj text eol=crlf
+*.lsproj text eol=crlf
+*.wixproj text eol=crlf
+*.modelproj text eol=crlf
+*.sqlproj text eol=crlf
+*.wmaproj text eol=crlf
+
+*.xproj text eol=crlf
+*.props text eol=crlf
+*.filters text eol=crlf
+*.vcxitems text eol=crlf
+
+
+#*.sln merge=binary
+#*.csproj merge=binary
+#*.vbproj merge=binary
+#*.vcxproj merge=binary
+#*.vcproj merge=binary
+#*.dbproj merge=binary
+#*.fsproj merge=binary
+#*.lsproj merge=binary
+#*.wixproj merge=binary
+#*.modelproj merge=binary
+#*.sqlproj merge=binary
+#*.wwaproj merge=binary
+
+#*.xproj merge=binary
+#*.props merge=binary
+#*.filters merge=binary
+#*.vcxitems merge=binary
+
diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..8e7b7f9
--- /dev/null
+++ b/.github/CODE_OF_CONDUCT.md
@@ -0,0 +1,74 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of experience,
+nationality, personal appearance, race, religion, or sexual identity and
+orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by [contacting the project team][email]. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+
+[email]: greg@swindle.net
+[homepage]: https://www.contributor-covenant.org
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..5e65d87
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,1116 @@
+[![Generator Community Repo][product-repo-logo-image]][product-repo-url]
+
+# Contributing to `architecture-decision-records`
+> [![PRs Welcome][makeapullrequest-image]][makeapullrequest-url]
+>
+> Welcome to `architecture-decision-records`. You're among people eager to promote recommended community standards that encourage open source consumption and contributions with comprehensive `README`, `CODE_OF_CONDUCT`, `CONTRIBUTING`, and `LICENSE` documents. If you are curious, you're already a member!
+
+**Contributions** start with **community conversations** that lead to **positive change.** Open source provides a flexible collaboration model that facilitates change, even among perfect strangers. Contributions therefore:
+
+ 1. Begin with **Issues**,
+ 2. Occur in **Pull Requests**, and
+ 3. End with **Merges**.
+
+## Table of contents
+
+
+- [1. Issues](#1-issues)
+ * [1.1. Create Issues for feature requests and defects.](#11-create-issues-for-feature-requests-and-defects)
+ * [1.2. Format titles with **`type(scope): subject`**.](#12-format-titles-with-typescope-subject)
+ * [1.3. Fill out the issue template.](#13-fill-out-the-issue-template)
+ * [1.4. Label the issue (optional).](#14-label-the-issue-optional)
+ * [1.5. Monitor your issue for questions.](#15-monitor-your-issue-for-questions)
+ * [1.6. Your issue will be either accepted for work, or declined.](#16-your-issue-will-be-either-accepted-for-work-or-declined)
+- [2. **Git**](#2-git)
+ * [2.1. **Rules**](#21-rules)
+ + [2.1.1. Makes changes in a topic branch.](#211-makes-changes-in-a-topic-branch)
+ + [2.1.2. Favor the topic branch naming recommendation `type/issue-change-name`.](#212-favor-the-topic-branch-naming-recommendation-typeissue-change-name)
+ + [2.1.3. Branch out from `master`.](#213-branch-out-from-master)
+ + [2.1.4. ***Never*** push into the `master` branch. ***Always*** submit a Pull Request.](#214-never-push-into-the-master-branch-always-submit-a-pull-request)
+ + [2.1.5. Submit a Pull Request as soon as possible.](#215-submit-a-pull-request-as-soon-as-possible)
+ + [2.1.6. Rebase your local `master` branch before you ask for PR approvals.](#216-rebase-your-local-master-branch-before-you-ask-for-pr-approvals)
+ + [2.1.7. Resolve rebase conflicts before Pull Request reviews.](#217-resolve-rebase-conflicts-before-pull-request-reviews)
+ + [2.1.8. Add reviewers and the label `Status: Needs Review` when the topic branch is ready.](#218-add-reviewers-and-the-label-status-needs-review-when-the-topic-branch-is-ready)
+ + [2.1.9. Delete local and remote topic branches after merging.](#219-delete-local-and-remote-topic-branches-after-merging)
+ + [2.1.10. Protect your `master` branch.](#2110-protect-your-master-branch)
+ * [2.2. **Feature-branch-workflow**](#22-feature-branch-workflow)
+ + [2.2.1. Initialize a Git repository in the product directory (_for new repositories only_).](#221-initialize-a-git-repository-in-the-product-directory-_for-new-repositories-only_)
+ + [2.2.2. Checkout a new `feat`ure or `fix` branch.](#222-checkout-a-new-feature-or-fix-branch)
+ + [2.2.3. Make Changes.](#223-make-changes)
+ + [2.2.4. Follow the Conventional Commits Specification for commit messages.](#224-follow-the-conventional-commits-specification-for-commit-messages)
+ + [2.2.5. Sync with remote to get changes you’ve missed.](#225-sync-with-remote-to-get-changes-youve-missed)
+ + [2.2.6. Update your topic branch with the latest changes from `master` by interactive rebase.](#226-update-your-topic-branch-with-the-latest-changes-from-master-by-interactive-rebase)
+ + [2.2.7. Resolve conflicts (if any occur), and continue rebase.](#227-resolve-conflicts-if-any-occur-and-continue-rebase)
+ + [2.2.8. Push your branch with the `-f` flag (if necessary).](#228-push-your-branch-with-the--f-flag-if-necessary)
+ + [2.2.9. Submit a Pull Request.](#229-submit-a-pull-request)
+ + [2.2.10. Once accepted, the Pull request will be merged, closed, and deleted by an administrator.](#2210-once-accepted-the-pull-request-will-be-merged-closed-and-deleted-by-an-administrator)
+ + [2.2.11. Remove your local topic branch if you're done.](#2211-remove-your-local-topic-branch-if-youre-done)
+ * [2.3. **Tell your boss how Git enables collaborative process models.**](#23-tell-your-boss-how-git-enables-collaborative-process-models)
+ + [2.3.1. Explain that inner and open source are _process models_.](#231-explain-that-inner-and-open-source-are-_process-models_)
+ + [2.3.2. Describe a typical Git workflow in collaborative terms.](#232-describe-a-typical-git-workflow-in-collaborative-terms)
+- [3. **Code standards**](#3-code-standards)
+ * [3.1. Use the Standard JS Style.](#31-use-the-standard-js-style)
+ * [3.2. Use ESLint to analyze source code.](#32-use-eslint-to-analyze-source-code)
+- [4. **Unit testing**](#4-unit-testing)
+ * [4.1. Write Jest tests.](#41-write-jest-tests)
+ * [4.2. Reach 100% code coverage.](#42-reach-100%25-code-coverage)
+- [5. **Directory structure**](#5-directory-structure)
+- [6. **Logging**](#6-logging)
+- [7. **Dependencies**](#7-dependencies)
+- [8. **APIs**](#8-apis)
+ * [8.1 **API design**](#81-api-design)
+ * [8.2 **API security**](#82-api-security)
+ * [8.3 **API documentation**](#83-api-documentation)
+- [9. **Licensing**](#9-licensing)
+
+
+## 1. Issues
+
+![Issues][icon-issue-image]
+
+* **Collaboration starts with *Issues*. Changes happen through *Pull Requests*.**
+
+ View `architecture-decision-records's` collaboration and contribution flowcharts:
+
+ ---
+
+
+ Toggle view of the Issue workflow flowchart.
+
+ ![Issue flowchart][contribution-lifecycle-issues-image]
+
+
+
+ ---
+
+
+ Toggle view of the Pull Request workflow flowchart.
+
+ ![Pull Request flowchart][contribution-lifecycle-pr-image]
+
+
+
+ ---
+
+* ### 1.1. Create Issues for feature requests and defects.
+
+ _Why:_
+ > ⌦ `architecture-decision-records` follows an issue-driven product delivery model.
+ > Before any work is done, create an Issue, first. This starts a
+ > conversation about features, defects ("bugs"), refactoring, product
+ > delivery improvements, etc.
+
+ Go ahead! Get started now:
+
+ * [Report a defect ("bug")][issues-new-defect-url]
+ * [Request a feature][issues-new-feat-url]
+ * [Review all open issues][issues-url]
+
+* ### 1.2. Format titles with **`type(scope): subject`**.
+
+ _Why:_
+ > ⌦`type` categorizes product changes. Valid types are:
+ >
+ > * `build`: Changes that affect the build system or external dependencies.
+ > * `ci`: Changes related to continuous integration, delivery, and deployment tasks.
+ > * `docs`: Documentation changes.
+ > * `feat`: A new feature.
+ > * `fix`: Defect (bug) repair.
+ > * `perf`: Performance enhancements.
+ > * `refactor`: Source code design improvements that don't affect product behavior.
+ > * `style`: Changes involving graphics, typography, etc., as well as source code beautification.
+ > * `test`: Tests added to increase code coverage, or corrected due to errors.
+
+* ### 1.3. Fill out the issue template.
+
+ _Why:_
+ > ⌦It keeps communication consistent and unambiguous.
+
+* ### 1.4. Label the issue (optional).
+
+ _Why:_
+ > ⌦ We use [`git-labelmaker`][gh-git-labelmaker-url] to categorize Issues (and Pull Requests) consistently. There are four label categories:
+ >
+ > * `Type`: the "kind" of product change.
+ > * `Status`: the state of a change.
+ > * `Priority`: the importance and value of a change.
+ > * `Points`: the size/complexity of a change.
+
+ ---
+
+
+ Toggle view of the Label definitions table.
+
+
+
+ Label 🏷
+ Definition
+
+
+
+
+ Type: Feature
+ A distinguished or expected characteristic of a product that either differentiates the product from competitors, or whose absence would be diminish the product’s value. Note that Type: Feature and Type: Defect are mutually exclusive: an Issue cannot be both a feature and a defect.
+
+
+ Type: Defect
+ A flaw, fault, or abnormality that deviates from or prevents the product’s expected behavior. Note that Type: Feature and Type: Defect are mutually exclusive: an Issue cannot be both a feature and a defect.
+
+
+ CLA: Signed
+ The person who submitted a product change has signed your Contributor License Agreement. Remove this label if your product owner does not require a CLA.
+
+
+ CLA: Unsigned
+ The person who submitted a product change has **not **signed your Contributor License Agreement. Remove this label if your product owner does not require a CLA.
+
+
+ Priority: Critical
+ Type: Feature: The proposed enhancement is essential to the success of your product. Type: Defect: Your product no longer functions due to internal, FATAL errors, and must be addressed immediately in order to maintain consumer loyalty.
+
+
+ Priority: High
+ Type: Feature: The proposed enhancement is central to product’s value proposition, and should be implemented as soon as possible. Type: Defect: The product functions overall, but with an issue that risks consumer abandonment.
+
+
+ Priority: Medium
+ Type: Feature or Type: Defect: The proposed change should be implemented as long as no Priority: Critical or Priority: High issues exists.
+
+
+ Priority: Low
+ Type: Feature: A proposal that minimally affects the product’s value. Type: Defect: Represents “cosmetic” problems like misspelled words or misaligned text that do not affect branding and marketing strategy.
+
+
+ Status: Abandoned
+ Type: Feature or Type: Defect: The team and community have neglected, forgotten, discarded, or ignored resolving a Issue.
+
+
+ Status: Accepted
+ Type: Feature or Type: Defect: The product owner or maintainers agreed to a product change proposal.
+
+
+ Status: Available
+ Type: Feature and Type: Defect: The change proposal is ready for team and community members to work on.
+
+
+ Status: Blocked
+ Type: Feature and Type: Defect: The proposed change cannot be addressed until another issue has been resolved. Note that the Issue blocking the proposed change SHOULD be referenced in the Blocked Issue’s description field.
+
+
+ Status: Completed
+ Type: Feature and Type: Defect: The issue has been resolved and all acceptance criteria validated.
+
+
+ Status: In Progress
+ Type: Feature and Type: Defect: The team or community is actively working on the Issue’s resolution.
+
+
+ Status: On Hold
+ Type: Feature and Type: Defect: The Product Owner has (temporarily) postponed Issue resolution. Note that the reason for postponement should be stated in the Issue’s description field.
+
+
+ Status: Pending
+ Type: Feature and Type: Defect: product change or resolution is either awaiting the Product Owner’s decision. Ideally, the Product Owner should declare why they’re undecided somewhere in the Issue thread.
+
+
+ Status: Rejected
+ Type: Feature and Type: Defect: The Product Owner has declined a change proposal. Note that the Product Owner should politely explain why they dismissed the change request.
+
+
+ Status: Review Needed
+ Type: Feature and Type: Defect: The person working on an Issue has requested help or discussion. When applied to a Pull Request, Status: Review Needed signifies that the PR is ready for evaluation (and potentially, approval).
+
+
+ Status: Revision Needed
+ Type: Feature and Type: Defect: The Issue is not ready for evaluation because of incomplete or insufficient information.
+
+
+ Type: Breaking Change
+ The change introduces backward incompatibility with previous product versions. Type: Breaking Change MUST be recorded with a Git commit message, An increment (+1) in the product’s Semantic Version’s MAJOR version, CHANGELOG entry, andUpdated API documentation.
+
+
+ Type: Build
+ Changes to the process that convert source code into a stand-alone form that can be run on a computer or to the form itself.
+
+
+ Type: Chore
+ Miscellaneous non-functional changes such as typographical fixes or source code repository initialization , e.g., chore(scm): scaffold product directory structure
+
+
+ Type: CI
+ Continuous Integration (CI) changes, i.e., automated build, test, an quality assurance tasks.
+
+
+ Type:../docs
+ The introduction of or revisions to natural language documents or source code comments.
+
+
+ Type: Duplicate
+ An Issue that shares the same characteristics as a previously reported issue. Note that product maintainers should reference the original Issue and close the Type: Duplicate Issue.
+
+
+ Type: Feedback
+ A response to a Type: Question or voluntary information used as a basis for improvement.
+
+
+ Type: Fix
+ A change intended to repair a Type: Defect Issue.
+
+
+ Type: Performance
+ A change intended to reduce product latency.
+
+
+ Type: Question
+ A request for information.
+
+
+ Type: Refactor
+ Source code design improvements that do not affect product behavior.
+
+
+ Type: Revert
+ Changes that return the product’s source code to previous Git commit hash.
+
+
+ Type: Spike
+ A technical or design experiment that investigates a possible solution. Note that spike solutions are, by definition, throwaway solutions that should NEVER be added to a product release.
+
+
+ Type: Style
+ Issues that address code standard or brand compliance.
+
+
+ Type: Test
+ Issues that prove intended behavior or substantiate “definitions of done.” Type: Test can also refer to changes that result in broader code coverage.
+
+
+
+
+
+ ---
+
+* ### 1.5. Monitor your issue for questions.
+
+ _Why:_
+ > ⌦ The team might need more clarification.
+
+* ### 1.6. Your issue will be either accepted for work, or declined.
+
+ _Why:_
+ > ⌦ It's up to the Product Owner to agree to proposed changes. If they believe your issue add value, the issue will be approved, and we'll ask someone to volunteer to do the work.
+ >
+ > Otherwise, your issue will be politely declined.
+
+
+## 2. **Git**
+
+![Git Logo][icon-git-logo-image]
+
+* ### 2.1. **Rules**
+
+ `architecture-decision-records` manages contributions with the [feature-branch-workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow).
+
+* #### 2.1.1. Makes changes in a topic branch.
+
+ _Why:_
+ > ⌦ Use an isolated topic branch for parallel product development. Topic branches allow you to submit multiple pull requests without confusion. You can iterate without polluting the master branch with potentially unstable, unfinished code. The `architecture-decision-records` team uses:
+ >
+ > * [Feature-branch-workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow) for small-ish codebases, or
+ > * [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#gitflow-workflow) for large applications and monoliths
+
+* #### 2.1.2. Favor the topic branch naming recommendation `type/issue-change-name`.
+
+ _Why:_
+ > ⌦ Although not required, our team prefixes branches with the type of change being introduced, followed by a forward slash and the issue id.
+ >
+ > Pattern: `type/issueId-subject`
+ > Icon legend: ![Bitbucket branch prefix][icon-bitbucket-20-image] Bitbucket
+ > ![GitHub branch prefix][icon-github-20-image] GitHub
+ >
+ >
+ > bugfix/
+ > Defect (bug) repair issues.
+ > build/
+ > Issues related to product builds.
+ > ci/
+ > Issues related to continuous integration, delivery, and deployment tasks.
+ > docs/
+ > Issues related to documentation.
+ > feat/
+ > New feature or enhancement requests.
+ > feature/
+ > New feature or enhancement requests.
+ > fix/
+ > Defect (bug) repair issues.
+ >
+ > `hotfix/`
+ > perf/
+ > Performance improvement issues.
+ > refactor/
+ > Source code design **improvements that do not affect product behavior**.
+ > revert/
+ > Tasks that revert to a previous commit hash.
+ > spike/
+ > Issues related in solution investigation.
+ > style/
+ > Issues related to style guideline compliance, especially `ESLint` errors and warnings.
+ > test/
+ > Test coverage tasks.
+ >
+
+* #### 2.1.3. Branch out from `master`.
+
+ _Why:_
+ > ⌦ `architecture-decision-records` follows the feature-branch-workflow.
+
+* #### 2.1.4. ***Never*** push into the `master` branch. ***Always*** submit a Pull Request.
+
+ _Why:_
+ > ⌦ It notifies team members whenever changes occur and allows the community to review your changes at any time..
+ >
+ > It also enables easy peer-review of the code and dedicates forum for discussing the proposed feature.
+
+* #### 2.1.5. Submit a Pull Request as soon as possible.
+
+ _Why:_
+ > ⌦ Pull Requests declare work in progress. Frequent pushes to a Pull Request notify your team members about change, and gives them the opportunity to provide feedback more often.
+ >
+ > Pull Request pushes also trigger automated CI-services, which help you fail fast and assess quality.
+
+* #### 2.1.6. Rebase your local `master` branch before you ask for PR approvals.
+
+ _Why:_
+ > ⌦ Rebasing will merge in the requested branch (`master` or `develop`) and apply the commits that you have made locally to the top of the history without creating a merge commit (assuming there were no conflicts). This results in a nice and clean history.
+
+* #### 2.1.7. Resolve rebase conflicts before Pull Request reviews.
+
+ _Why:_
+ > ⌦ Rebasing will merge in the `master` branch and apply the commits that you have made locally to the top of it.
+
+* #### 2.1.8. Add reviewers and the label `Status: Needs Review` when the topic branch is ready.
+
+ _Why:_
+ > ⌦ When you add a Reviewer, GitHub (or Bitbucket) notifies teammates that your topic branch meets all Acceptance Criteria and is ready to be merged into `master`.
+ >
+ > Add the label "Status: Review Needed" formally declares the status of your topic branch, and helps teams filter through issues.
+
+* #### 2.1.9. Delete local and remote topic branches after merging.
+
+ _Why:_
+ > ⌦ Topic branches should only exist while work is in-progress. Merged topic branches clutter up your list of branches with dead branches. Topic branch deletion also insures that you only ever merge back into `master`.
+
+* #### 2.1.10. Protect your `master` branch.
+
+ _Why:_
+ > ⌦ Branch protection prevents production-ready branches from incorporating unexpected and irreversible changes. Learn more about
+ >
+ > * [GitHub protected branches](https://help.github.com/articles/about-protected-branches/) and
+ > * [Bitbucket protected branches](https://confluence.atlassian.com/bitbucketserver/using-branch-permissions-776639807.html).
+
+* ### 2.2. **Feature-branch-workflow**
+
+ We use the [feature-branch-workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow). We _recommend_ [interactive rebasing](https://www.atlassian.com/git/tutorials/merging-vs-rebasing#the-golden-rule-of-rebasing), too, but that's not required.
+
+
+
+* #### 2.2.1. Initialize a Git repository in the product directory (_for new repositories only_).
+
+ For subsequent features and changes, this step should be ignored.
+
+ ```sh
+ cd
+ git init
+ ```
+
+* #### 2.2.2. Checkout a new `feat`ure or `fix` branch.
+
+ ```sh
+ # For a new feature branch:
+ git checkout -b feat/-scope-of-change
+
+ # For branches that address defects:
+ git checkout -b fix/-scope-of-change
+ ```
+
+* #### 2.2.3. Make Changes.
+
+ ```sh
+ git add
+ git commit -a
+ ```
+
+ _Why:_
+ > ⌦ `git commit -a` will start an editor which lets you separate the subject from the body. Read more about it in *section 1.3*.
+
+* #### 2.2.4. Follow the Conventional Commits Specification for commit messages.
+
+ This project enforces [AngularJS Git Commit Guidelines][git-commit-guidelines-url] (which is now an extension of the [Conventional Commits Specfication][conventional-commits-url]) with [`commitplease`][commitplease-url] pre-commit hooks.
+
+ _Why:_
+ > Consistent, legible Git logs not only facilitate communication, but also enable automated `CHANGELOG` generation and semantic versioning with [`standard-version`][standard-version-url].
+
+ * **`build` commit messages**
+
+ Issues related to product builds.
+
+ ```
+ build():
+
+ <[body]>
+
+
+ ```
+
+ * **`chore` commit messages**
+
+ Issues related to miscellaneous non-functional changes (usually "maintenance" changes).
+
+ ```
+ chore():
+
+ <[body]>
+
+
+ ```
+
+ * **`ci` commit messages**
+
+ Issues related to continuous integration, delivery, and deployment tasks.
+
+ ```
+ ci():
+
+ <[body]>
+
+
+ ```
+
+ * **`docs` commit messages**
+
+ Issues related to documentation.
+
+ ```git
+ docs():
+
+ <[body]>
+
+
+ ```
+
+ * **`feat` (feature) commit messages**
+
+ New feature or enhancement requests.
+
+ ```
+ feat():
+
+ <[body]>
+
+
+ ```
+
+ * **`fix` commit messages**
+
+ Defect (bug) repair issues.
+
+ ```
+ fix():
+
+ <[body]>
+
+
+ ```
+
+ * **`perf` (performance) commit messages**
+
+ Performance improvement issues.
+
+ ```
+ perf():
+
+ <[body]>
+
+
+ ```
+
+ * **`refactor` commit messages**
+
+ Source code design **improvements that do not affect product behavior**.
+
+ ```
+ refactor():
+
+ <[body]>
+
+
+ ```
+
+ * **`revert` commit messages**
+
+ Tasks that revert to a previous commit hash. Your message should begin with `revert:`, followed by the header of the reverted commit.
+
+ In the body it should say: `This reverts commit .`, where the hash is the SHA of the commit being reverted.
+
+ ```
+ revert:
+
+ This reverts commit .
+
+
+ ```
+
+ * **`style` commit messages**
+
+ Issues related to style guideline compliance, especially `ESLint` errors and warnings.
+
+ ```
+ style():
+
+ <[body]>
+
+
+ ```
+
+ * **`test` commit messages**
+
+ Test coverage tasks.
+
+ ```
+ test():
+
+ <[body]>
+
+
+ ```
+
+* #### 2.2.5. Sync with remote to get changes you’ve missed.
+
+ ```sh
+ git checkout master
+ git pull
+ ```
+
+ _Why:_
+ > ⌦ This will give you a chance to deal with conflicts on your machine while rebasing(later) rather than creating a Pull Request that contains conflicts.
+
+* #### 2.2.6. Update your topic branch with the latest changes from `master` by interactive rebase.
+
+ ```sh
+ git checkout
+ git rebase -i --autosquash master
+ ```
+
+ _Why:_
+ > ⌦ You can use `--autosquash` to squash all your commits to a single commit. Nobody wants many commits for a single feature in develop branch.
+ >
+ > [Learn more about autosquashing Git commits][autosquashing-git-commits-url].
+
+* #### 2.2.7. Resolve conflicts (if any occur), and continue rebase.
+
+ ```sh
+ git add ...
+ git rebase --continue
+ ```
+
+ [Learn more about resolving conflicts][git-resolve-conflicts-url].
+
+* #### 2.2.8. Push your branch with the `-f` flag (if necessary).
+
+ Rebase changes history, so you might need to force changes into the `remote` branch with the `-f` flag. If someone else is working on your branch, use the less destructive `--force-with-lease`.
+
+ ```sh
+ git push -f
+ ```
+
+ _Why:_
+ > ⌦ When you do a rebase, you are changing the history on your topic branch. As a result, Git will reject normal `git push`. Instead, you'll need to use the -f or --force flag.
+ >
+ > [Learn more about `--force-with-lease`][force-with-lease-url].
+
+* #### 2.2.9. Submit a Pull Request.
+
+* #### 2.2.10. Once accepted, the Pull request will be merged, closed, and deleted by an administrator.
+
+* #### 2.2.11. Remove your local topic branch if you're done.
+
+ ```sh
+ git branch -d
+ ```
+
+ to remove all branches which are no longer on remote
+
+ ```sh
+ git fetch -p && \
+ for branch in `git branch -vv | grep ': gone]' | awk '{print $1}'`; \
+ do git branch -D $branch; \
+ done
+ ```
+
+## 3. **Code standards**
+
+[![JavaScript Style Guide][standard-js-badge-image]][standard-js-url] [![ESLint logo][eslint-logo-image]][eslint-url]
+
+* ### 3.1. Use the Standard JS Style.
+
+ `architecture-decision-records` follows the [Standard JS Style][standard-js-url].
+
+* ### 3.2. Use ESLint to analyze source code.
+
+ _Why:_
+ > ⌦ [ESLint][eslint-url] evaluates JavaScript code (and `--fix`es what it can) whenever `npm test` runs. You can run ESLint directly with:
+ >
+ ```shell
+ npm run lint:js
+ ```
+ >
+
+ View [`architecture-decision-records's` ESLint rules][eslint-rules-table-url] and their enforcement.
+
+## 4. **Unit testing**
+
+[![Jest JavaScript Testing][jest-logo-image]][jest-url]
+
+* ### 4.1. Write Jest tests.
+
+ _Why:_
+ > ⌦ Behavior-driven development specifications are executable documentation.
+
+ * **Put test files in the \**test\** directory.**
+
+ * **Use the `.spec.js` suffix for all tests.**
+
+* ### 4.2. Reach 100% code coverage.
+
+ _Why:_
+ > ⌦ Full coverage makes automated dependency drift updates safer.
+
+ * View a test coverage summary in the Terminal:
+
+ ```shell
+ npm test
+
+ > jest --config=jest.config.json
+
+ PASS **tests**/app.js
+ architecture-decision-records:app
+ ✓ creates files (1ms)
+
+ Test Suites: 1 passed, 1 total
+ Tests: 1 passed, 1 total
+ Snapshots: 0 total
+ Time: 2.595s
+ Ran all test suites.
+ ----------|----------|----------|----------|----------|----------------|
+ File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
+ ----------|----------|----------|----------|----------|----------------|
+ All files | 100 | 100 | 100 | 100 | |
+ index.js | 100 | 100 | 100 | 100 | |
+ ----------|----------|----------|----------|----------|----------------|
+ ```
+
+ * Open `/coverage/lcov-report/index.html` in a Web browser to view detailed coverage reports.
+
+## 5. **Directory structure**
+
+
+## 6. **Logging**
+
+## 7. **Dependencies**
+
+![Package tech stack][tech-stack-image]
+
+[![StackShare][stackshare-badge-image]][stackshare-url]
+
+`architecture-decision-records` requires the following tech stack to either run, build, test, or deploy:
+
+
+| **Dependency** | **Description** | **Version** | **Type** |
+| -------------- | --------------- | ----------- | -------- |
+ | [generator-license@5.1.0](https://github.com/jozefizso/generator-license) | License generator for Yeoman based projects. | 5.1.0 | production |
+ | [generator-node@2.2.0](https://github.com/yeoman/generator-node) | Create a Node.js module | 2.2.0 | production |
+ | [git-remote-origin-url@2.0.0](https://github.com/sindresorhus/git-remote-origin-url#readme) | Get the remote origin url of a git repository | 2.0.0 | production |
+ | [git-url-parse@7.0.1](https://github.com/IonicaBizau/git-url-parse) | A high level git url parser for common git providers. | 7.0.1 | production |
+ | [github-username@4.1.0](https://github.com/sindresorhus/github-username#readme) | Get a GitHub username from an email address | 4.1.0 | production |
+ | [inquirer-npm-name@2.0.0](https://github.com/SBoudrias/inquirer-npm-name#readme) | Helper function using inquirer to validate a value provided in a prompt does not exist as an npm package. | 2.0.0 | production |
+ | [lodash@^4.17.4](https://lodash.com/) | Lodash modular utilities. | 4.17.4 | production |
+ | [markdown-magic@0.1.18](https://npmjs.org/package/markdown-magic) | Automatically update markdown files with content from external sources | 0.1.18 | production |
+ | [markdown-magic-install-command@1.3.1](https://github.com/camacho/markdown-magic-install-command#readme) | Print install command for markdown file | 1.3.1 | production |
+ | [markdown-magic-package-scripts@1.2.0](https://github.com/camacho/markdown-magic-package-scripts#readme) | Print list of scripts in package.json with descriptions | 1.2.0 | production |
+ | [parse-author@2.0.0](https://github.com/jonschlinkert/parse-author) | Parse an author, contributor, maintainer or other 'person' string into an object with name, email and url properties following npm conventions. | 2.0.0 | production |
+ | [update-notifier@2.2.0](https://github.com/yeoman/update-notifier#readme) | Update notifications for your CLI app | 2.2.0 | production |
+ | [yeoman-generator@2.0.0](http://yeoman.io) | Rails-inspired generator system that provides scaffolding for your apps | 2.0.0 | production |
+ | [babel-jest@21.0.2](https://github.com/facebook/jest#readme) | Jest plugin to use babel for transformation. | 21.0.2 | dev |
+ | [babel-preset-env@1.6.0](https://babeljs.io/) | A Babel preset for each environment. | 1.6.0 | dev |
+ | [babelify@7.3.0](https://github.com/babel/babelify) | Babel browserify transform | 7.3.0 | dev |
+ | [check-node-version@2.1.0](https://github.com/parshap/check-node-version#readme) | Check installed versions of node and npm | 2.1.0 | dev |
+ | [commitplease@2.7.10](https://github.com/jzaefferer/commitplease#readme) | Validates strings as commit messages | 2.7.10 | dev |
+ | [coveralls@^2.13.1](https://github.com/nickmerwin/node-coveralls#readme) | takes json-cov output into stdin and POSTs to coveralls.io | 2.13.1 | dev |
+ | [eslint@4.7.2](http://eslint.org) | An AST-based pattern checker for JavaScript. | 4.7.2 | dev |
+ | [eslint-config-xo-space@0.16.0](https://github.com/sindresorhus/eslint-config-xo-space#readme) | ESLint shareable config for XO with 2-space indent | 0.16.0 | dev |
+ | [eslint-plugin-import@2.7.0](https://github.com/benmosher/eslint-plugin-import) | Import with sanity. | 2.7.0 | dev |
+ | [eslint-plugin-jest@21.1.0](https://github.com/facebook/jest#readme) | Eslint rules for Jest | 21.1.0 | dev |
+ | [eslint-plugin-jsdoc@3.1.3](https://github.com/gajus/eslint-plugin-jsdoc#readme) | JSDoc linting rules for ESLint. | 3.1.3 | dev |
+ | [eslint-plugin-no-unsafe-innerhtml@1.0.16](https://github.com/mozfreddyb/eslint-plugin-no-unsafe-innerhtml/) | custom ESLint rule to disallows unsafe innerHTML, outerHTML and insertAdjacentHTML | 1.0.16 | dev |
+ | [eslint-plugin-no-unsanitized@2.0.1](https://github.com/mozilla/eslint-plugin-no-unsanitized/) | ESLint rule to disallow unsanitized code | 2.0.1 | dev |
+ | [eslint-plugin-node@5.1.1](https://github.com/mysticatea/eslint-plugin-node#readme) | Additional ESLint's rules for Node.js | 5.1.1 | dev |
+ | [eslint-plugin-promise@3.5.0](https://github.com/xjamundx/eslint-plugin-promise#readme) | Enforce best practices for JavaScript promises | 3.5.0 | dev |
+ | [eslint-plugin-scanjs-rules@0.2.1](https://github.com/mozfreddyb/eslint-plugin-scanjs-rules/) | ESLint plugin that contains ScanJS rules | 0.2.1 | dev |
+ | [eslint-plugin-security@1.4.0](https://github.com/nodesecurity/eslint-plugin-security#readme) | Security rules for eslint | 1.4.0 | dev |
+ | [eslint-plugin-standard@3.0.1](https://github.com/xjamundx/eslint-plugin-standard#readme) | ESlint Plugin for the Standard Linter | 3.0.1 | dev |
+ | [eslint-plugin-xss@0.1.8](https://npmjs.org/package/eslint-plugin-xss) | Validates XSS related issues of mixing HTML and non-HTML content in variables. | 0.1.8 | dev |
+ | [fixpack@2.3.1](https://github.com/henrikjoreteg/fixpack) | cli tool that cleans up package.json files. | 2.3.1 | dev |
+ | [jest@21.1.0](http://facebook.github.io/jest/) | Delightful JavaScript Testing. | 21.1.0 | dev |
+ | [jest-cli@21.1.0](http://facebook.github.io/jest/) | Delightful JavaScript Testing. | 21.1.0 | dev |
+ | [markdown-toc@1.2.0](https://github.com/jonschlinkert/markdown-toc) | Generate a markdown TOC (table of contents) with Remarkable. | 1.2.0 | dev |
+ | [nsp@2.8.0](https://github.com/nodesecurity/nsp#readme) | The Node Security (nodesecurity.io) command line interface | 2.8.0 | dev |
+ | [standard-version@4.2.0](https://github.com/conventional-changelog/standard-version#readme) | replacement for `npm version` with automatic CHANGELOG generation | 4.2.0 | dev |
+ | [yeoman-assert@3.1.0](http://yeoman.io) | Assert utility from yeoman | 3.1.0 | dev |
+ | [yeoman-test@1.7.0](http://yeoman.io/authoring/testing.html) | Test utilities for Yeoman generators | 1.7.0 | dev |
+
+
+
+## 8. **APIs**
+
+![APIs][icon-rest-api-image]
+
+* ### 8.1 **API design**
+
+ _Why:_
+ > ⌦ Because we try to enforce development of sanely constructed RESTful interfaces, which team members and clients can consume simply and consistently.
+
+ _Why:_
+ > ⌦ Lack of consistency and simplicity can massively increase integration and maintenance costs. Which is why `API design` is included in this document.
+
+
+ * We mostly follow resource-oriented design. It has three main factors: resources, collection, and URLs.
+ * A resource has data, gets nested, and there are methods that operate against it.
+ * A group of resources is called a collection.
+ * URL identifies the online location of resource or collection.
+
+ _Why:_
+ > ⌦ This is a very well-known design to developers (your main API consumers). Apart from readability and ease of use, it allows us to write generic libraries and connectors without even knowing what the API is about.
+
+ * Use kebab-case for URLs.
+ * Use camelCase for parameters in the query string or resource fields.
+ * Use plural kebab-case for resource names in URLs.
+
+ * Always use a plural nouns for naming a url pointing to a collection: `/users`.
+
+ _Why:_
+ > ⌦ Basically, it reads better and keeps URLs consistent. [read more...](https://apigee.com/about/blog/technology/restful-api-design-plural-nouns-and-concrete-names)
+
+ * In the source code convert plurals to variables and properties with a List suffix.
+
+ _Why_:
+ > ⌦ Plural is nice in the URL but in the source code, it’s just too subtle and error-prone.
+
+ * Always use a singular concept that starts with a collection and ends to an identifier:
+
+ ```
+ /students/245743
+ /airports/kjfk
+ ```
+ * Avoid URLs like this:
+ ```
+ GET /blogs/:blogId/posts/:postId/summary
+ ```
+
+ _Why:_
+ > ⌦ This is not pointing to a resource but to a property instead. You can pass the property as a parameter to trim your response.
+
+ * Keep verbs out of your resource URLs.
+
+ _Why:_
+ > ⌦ Because if you use a verb for each resource operation you soon will have a huge list of URLs and no consistent pattern which makes it difficult for developers to learn. Plus we use verbs for something else.
+
+ * Use verbs for non-resources. In this case, your API doesn't return any resources. Instead, you execute an operation and return the result. These **are not** CRUD (create, retrieve, update, and delete) operations:
+
+ ```
+ /translate?text=Hallo
+ ```
+
+ _Why:_
+ > ⌦ Because for CRUD we use HTTP methods on `resource` or `collection` URLs. The verbs we were talking about are actually `Controllers`. You usually don't develop many of these. [read more...](https://byrondover.github.io/post/restful-api-guidelines/#controller)
+
+ * The request body or response type is JSON then please follow `camelCase` for `JSON` property names to maintain the consistency.
+
+ _Why:_
+ > ⌦ This is a JavaScript project guideline, Where Programming language for generating JSON as well as Programming language for parsing JSON are assumed to be JavaScript.
+
+ * Even though a resource is a singular concept that is similar to an object instance or database record, you should not use your `table_name` for a resource name and `column_name` resource property.
+
+ _Why:_
+ > ⌦ Because your intention is to expose Resources, not your database schema details.
+
+ * Again, only use nouns in your URL when naming your resources and don’t try to explain their functionality.
+
+ _Why:_
+ > ⌦ Only use nouns in your resource URLs, avoid endpoints like `/addNewUser` or `/updateUser` . Also avoid sending resource operations as a parameter.
+
+ * Explain the CRUD functionalities using HTTP methods:
+
+ _How:_
+ > `GET`: Retrieve a representation of a resource.
+
+ > `POST`: Create new resources and sub-resources.
+
+ > `PUT`: Replace existing resources.
+
+ > `PATCH`: Update existing resources. It only updates the fields that were supplied, leaving the others alone.
+
+ > `DELETE`: Delete existing resources.
+
+
+ * For nested resources, use the relation between them in the URL. For instance, using `id` to relate an employee to a company.
+
+ _Why:_
+ > ⌦ This is a natural way to make resources explorable.
+
+ _How:_
+
+ > `GET /schools/2/students ` , should get the list of all students from school 2.
+
+ > `GET /schools/2/students/31` , should get the details of student 31, which belongs to school 2.
+
+ > `DELETE /schools/2/students/31` , should delete student 31, which belongs to school 2.
+
+ > `PUT /schools/2/students/31` , should update info of student 31, Use PUT on resource-URL only, not collection.
+
+ > `POST /schools` , should create a new school and return the details of the new school created. Use POST on collection-URLs.
+
+ * Use a simple ordinal number for a version with a `v` prefix (v1, v2). Move it all the way to the left in the URL so that it has the highest scope:
+ ```
+ http://api.domain.com/v1/schools/3/students
+ ```
+
+ _Why:_
+ > ⌦ When your APIs are public for other third parties, upgrading the APIs with some breaking change would also lead to breaking the existing products or services using your APIs. Using versions in your URL can prevent that from happening. [read more...](https://apigee.com/about/blog/technology/restful-api-design-tips-versioning)
+
+ * Response messages must be self-descriptive. A good error message response might look something like this:
+ ```json
+ {
+ "code" : 404,
+ "level" : "ERROR",
+ "logger" : "[http-logger]",
+ "message" : "No resource found at URL /archetypes/v1/locales/iso-country-codes/BS",
+ "timestamp": 1504878062000
+ }
+ ```
+ or for validation errors:
+ ```json
+ {
+ "code" : 400,
+ "logger" : "[registration-form-logger]",
+ "level" : "ERROR",
+ "timestamp": 1504878062000,
+ "message" : "Validation Failed",
+ "stack" :[
+ {
+ "code" : 1233,
+ "field" : "email",
+ "message": "Invalid email"
+ },
+ {
+ "code" : 1234,
+ "field" : "password",
+ "message": "No password provided"
+ }
+ ]
+ }
+ ```
+
+ _Why:_
+ > ⌦ Developers depend on well-designed errors at the critical times when they are troubleshooting and resolving issues after the applications they've built using your APIs are in the hands of their users.
+
+ _Note: Keep security exception messages as generic as possible. For instance, Instead of saying ‘incorrect password’, you can reply back saying ‘invalid username or password’ so that we don’t unknowingly inform user that username was indeed correct and only the password was incorrect._
+
+ * Use only these 8 status codes to send with you response to describe whether **everything worked**,
+ The **client app did something wrong** or The **API did something wrong**.
+
+ _Which ones:_
+ > `200 OK` response represents success for `GET`, `PUT` or `POST` requests.
+
+ > `201 Created` for when new instance is created. Creating a new instance, using `POST` method returns `201` status code.
+
+ > `304 Not Modified` response is to minimize information transfer when the recipient already has cached representations.
+
+ > `400 Bad Request` for when the request was not processed, as the server could not understand what the client is asking for.
+
+ > `401 Unauthorized` for when the request lacks valid credentials and it should re-request with the required credentials.
+
+ > `403 Forbidden` means the server understood the request but refuses to authorize it.
+
+ > `404 Not Found` indicates that the requested resource was not found.
+
+ > `500 Internal Server Error` indicates that the request is valid, but the server could not fulfill it due to some unexpected condition.
+
+ _Why:_
+ > ⌦ Most API providers use a small subset HTTP status codes. For example, the Google GData API uses only 10 status codes, Netflix uses 9, and Digg, only 8. Of course, these responses contain a body with additional information.There are over 70 HTTP status codes. However, most developers don't have all 70 memorized. So if you choose status codes that are not very common you will force application developers away from building their apps and over to wikipedia to figure out what you're trying to tell them. [read more...](https://apigee.com/about/blog/technology/restful-api-design-what-about-errors)
+
+
+ * Provide total numbers of resources in your response.
+ * Accept `limit` and `offset` parameters.
+
+ * The amount of data the resource exposes should also be taken into account. The API consumer doesn't always need the full representation of a resource.Use a fields query parameter that takes a comma separated list of fields to include:
+ ```
+ GET /student?fields=id,name,age,class
+ ```
+ * Pagination, filtering, and sorting don’t need to be supported from start for all resources. Document those resources that offer filtering and sorting.
+
+* ### 8.2 **API security**
+
+ These are some basic security best practices:
+
+ * Don't use basic authentication unless over a secure connection (HTTPS). Authentication tokens must not be transmitted in the URL: `GET /users/123?token=asdf....`
+
+ _Why:_
+ > ⌦ Because Token, or user ID and password are passed over the network as clear text (it is base64 encoded, but base64 is a reversible encoding), the basic authentication scheme is not secure. [read more...](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication)
+
+ * Tokens must be transmitted using the Authorization header on every request: `Authorization: Bearer xxxxxx, Extra yyyyy`.
+
+ * Authorization Code should be short-lived.
+
+ * Reject any non-TLS requests by not responding to any HTTP request to avoid any insecure data exchange. Respond to HTTP requests by `403 Forbidden`.
+
+ * Consider using Rate Limiting.
+
+ _Why:_
+ > ⌦ To protect your APIs from bot threats that call your API thousands of times per hour. You should consider implementing rate limit early on.
+
+ * Setting HTTP headers appropriately can help to lock down and secure your web application. [read more...](https://github.com/helmetjs/helmet)
+
+ * Your API should convert the received data to their canonical form or reject them. Return 400 Bad Request with details about any errors from bad or missing data.
+
+ * All the data exchanged with the ReST API must be validated by the API.
+
+ * Serialize your JSON.
+
+ _Why:_
+ > ⌦ A key concern with JSON encoders is preventing arbitrary JavaScript remote code execution within the browser... or, if you're using node.js, on the server. It's vital that you use a proper JSON serializer to encode user-supplied data properly to prevent the execution of user-supplied input on the browser.
+
+ * Validate the content-type and mostly use `application/*json` (Content-Type header).
+
+ _Why:_
+ > ⌦ For instance, accepting the `application/x-www-form-urlencoded` mime type allows the attacker to create a form and trigger a simple POST request. The server should never assume the Content-Type. A lack of Content-Type header or an unexpected Content-Type header should result in the server rejecting the content with a `4XX` response.
+
+* ### 8.3 **API documentation**
+
+ * Fill the `API Reference` section in [README.md template](./README.sample.md) for API.
+ * Describe API authentication methods with a code sample.
+ * Explaining The URL Structure (path only, no root URL) including The request type (Method).
+
+ For each endpoint explain:
+ * URL Params If URL Params exist, specify them in accordance with name mentioned in URL section:
+
+ ```
+ Required: id=[integer]
+ Optional: photo_id=[alphanumeric]
+ ```
+
+ * If the request type is POST, provide working examples. URL Params rules apply here too. Separate the section into Optional and Required.
+
+ * **Success Responses.** What should be the status code and is there any return data? This is useful when people need to know what their callbacks should expect:
+
+ ```
+ Code: 200
+ Content: { id : 12 }
+ ```
+
+ * **Error Responses.** Most endpoints have many ways to fail. From unauthorized access to wrongful parameters etc. All of those should be listed here. It might seem repetitive, but it helps prevent assumptions from being made. For example:
+
+ * **HTTP status code**
+ ```
+ 404 Not Found
+ ```
+
+ * **Response body**
+ ```json
+ {
+ "code" : 404,
+ "level" : "ERROR",
+ "logger" : "[http-logger]",
+ "message" : "No resource found at URL /archetypes/v1/locales/iso-country-codes/BS",
+ "timestamp": 1504878062000
+ }
+ ```
+
+ * **Response headers**
+ ```
+ accept-ranges: bytes
+ access-control-allow-headers: Authorization
+ access-control-allow-methods: GET, HEAD, OPTIONS
+ access-control-allow-origin: *
+ cache-control: public, no-transform, must-revalidate
+ connection: keep-alive
+ content-encoding: gzip
+ content-language: en-US
+ content-length: 149
+ content-type: application/json
+ date: Fri, 08 Sep 2017 06:41:02 GMT
+ last-modified: Tue, 1 Oct 2014 10:10:10 GMT
+ server: nginx/1.12.1
+ vary: Accept-Encoding
+ ```
+
+ * Use API design tools, There are lots of open source tools for good documentation such as [API Blueprint](https://apiblueprint.org/) and [Swagger](https://swagger.io/).
+
+## 9. **Licensing**
+
+![Licensing][osi-logo-image]
+
+ Make sure you use resources that you have the rights to use. If you use libraries, remember to look for MIT, Apache or BSD but if you modify them, then take a look into license details. Copyrighted images and videos may cause legal problems.
+
+
+
+
+
+[all-contributors-cli-url]: https://github.com/kentcdodds/all-contributors
+[autosquashing-git-commits-url]: https://robots.thoughtbot.com/autosquashing-git-commits
+[changelog-url]: ./CHANGELOG.md
+[cite-interview-torvalds-url]: https://techcrunch.com/2012/04/19/an-interview-with-millenium-technology-prize-finalist-linus-torvalds/
+[cla-url]: https://www.clahub.com/agreements/commonality/architecture-decision-records
+[code-of-conduct-url]: ./CODE_OF_CONDUCT.md
+[commitplease-url]: https://www.npmjs.com/package/commitplease
+[commonality-palette-image]: ./docs/img/palette.svg
+[contributing-url]: ./CONTRIBUTING.md
+[contribution-lifecycle-issues-image]: ../docs/img/icons8/contribution-lifecycle-create-issue.png
+[contribution-lifecycle-pr-image]: ../docs/img/icons8/contribution-lifecycle-pr.png
+[conventional-commits-url]: https://conventionalcommits.org
+[coolors-palette-url]: https://coolors.co/cfdbd5-e8eddf-f5cb5c-242423-333533
+[eslint-logo-image]: ../docs/img/logo-eslint.png
+[eslint-rules-table-url]: ./ESLINT_RULES.md
+[eslint-url]: https://eslint.org
+[force-with-lease-url]: https://developer.atlassian.com/blog/2015/04/force-with-lease/
+[fossa-image-large]: https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Forganization%2Frepo-name.svg?type=large
+[gh-create-account-url]: https://github.com/signup/free
+[gh-git-labelmaker-url]: https://github.com/himynameisdave/git-labelmaker
+[gh-try-github-url]: https://try.github.io/levels/1/challenges/1
+[git-commit-guidelines-url]: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit
+[git-resolve-conflicts-url]: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/
+[icon-bitbucket-20-image]: ../docs/img/icons8/icon-bitbucket-20.png
+[icon-git-logo-image]: ../docs/img/icons8/git-logo.png
+[icon-github-20-image]: ../docs/img/icons8/icon-github-filled-20.png
+[icon-info-image]: ../docs/img/icons8/icon-info-50.png
+[icon-issue-image]: ../docs/img/icons8/icon-issues.png
+[icon-pr-image]: ../docs/img/icons8/icon-pr.png
+[icon-rest-api-image]: ../docs/img/icons8/icon-rest-api.png
+[issues-new-defect-url]: https://github.com/commonality/architecture-decision-records/issues/new?title=fix%28affected-scope%29%3A+subject-line-with-very-few-words&labels=Priority%3A+Medium%2CStatus%3A+Review+Needed%2CType%3A+Defect&body=%2A%2A%F0%9F%92%A1+TIP%3A%2A%2A+Select+the+%E2%86%96%EF%B8%8E%E2%8E%BE+Preview+%E2%8F%8B+Tab+above+help+read+these+instructions.%0D%0A%0D%0A%23%23+1.+Issue+type%0D%0A%3E%E2%8C%A6+Type+the+letter+%22x%22+in+the+%22checkbox%22+the+best+describe+this+issue.%0D%0A%0D%0A-+%5Bx%5D+**Feature%3A**+I%27m+requesting+a+product+enhancement.%0D%0A%0D%0A%23%23+2.+User+story+summary%0D%0A%3E%E2%8C%A6+Describe+what+you+want+to+accomplish%2C+in+what+role%2Fcapacity%2C+and+why+it%27s+important+to+you.%0D%0A%0D%0A%3E+**EXAMPLE%3A**%0D%0A%3E+As+a+Applicant%2C%0D%0A%3E+I+want+to+submit+my+resume%0D%0A%3E+In+order+to+be+considered+for+a+job+opening.%0D%0A%0D%0AAs+a+%7Brole%7D%2C%0D%0AI+must%2Fneed%2Fwant%2Fshould+%7Bdo+something%7D%0D%0AIn+order+to+%7Bachieve+value%7D.%0D%0A%0D%0A%23%23+3.+Acceptance+criteria%0D%0A%3E%E2%8C%A6+Replace+the+examples+below+with+your+own+imperative%2C+%22true%2Ffalse%22+statements+for+the+**behavior+you+expect**+to+see%2C+or+the+behavior+that+**would**+be+true+if+there+were+no+errors+%28for+defects%29.%0D%0A%0D%0A-+%5B+%5D+1.+Job+Applicants+receive+a+confirmation+email+after+they+submit+their+resumes.%0D%0A-+%5B+%5D+2.+An+Applicant%27s+resume+information+isn%27t+lost+when+errors+occur.%0D%0A-+%5B+%5D+3.+%7Bcriterion-three%7D%0D%0A-+%5B+%5D+4.+%7Bcriterion-four%7D%0D%0A%0D%0A%3C%21--+%E2%9B%94%EF%B8%8F++Do+not+remove+anything+below+this+comment.+%E2%9B%94%EF%B8%8F++--%3E%0D%0A%5Bicon-info-image%5D%3A+..%2Fdocs%2Fimg%2Ficons8%2Ficon-info-50.png%0D%0A
+[issues-new-feat-url]: https://github.com/commonality/architecture-decision-records/issues/new?title=feat%28affected-scope%29%3A+subject-line-with-very-few-words&labels=Priority%3A+Medium%2CStatus%3A+Review+Needed%2CType%3A+Feature&body=%2A%2A%F0%9F%92%A1+TIP%3A%2A%2A+Select+the+%E2%86%96%EF%B8%8E%E2%8E%BE+Preview+%E2%8F%8B+Tab+above+help+read+these+instructions.%0D%0A%0D%0A%23%23+1.+Issue+type%0D%0A%3E%E2%8C%A6+Type+the+letter+%22x%22+in+the+%22checkbox%22+the+best+describe+this+issue.%0D%0A%0D%0A-+%5Bx%5D+**Feature%3A**+I%27m+requesting+a+product+enhancement.%0D%0A%0D%0A%23%23+2.+User+story+summary%0D%0A%3E%E2%8C%A6+Describe+what+you+want+to+accomplish%2C+in+what+role%2Fcapacity%2C+and+why+it%27s+important+to+you.%0D%0A%0D%0A%3E+**EXAMPLE%3A**%0D%0A%3E+As+a+Applicant%2C%0D%0A%3E+I+want+to+submit+my+resume%0D%0A%3E+In+order+to+be+considered+for+a+job+opening.%0D%0A%0D%0AAs+a+%7Brole%7D%2C%0D%0AI+must%2Fneed%2Fwant%2Fshould+%7Bdo+something%7D%0D%0AIn+order+to+%7Bachieve+value%7D.%0D%0A%0D%0A%23%23+3.+Acceptance+criteria%0D%0A%3E%E2%8C%A6+Replace+the+examples+below+with+your+own+imperative%2C+%22true%2Ffalse%22+statements+for+the+**behavior+you+expect**+to+see%2C+or+the+behavior+that+**would**+be+true+if+there+were+no+errors+%28for+defects%29.%0D%0A%0D%0A-+%5B+%5D+1.+Job+Applicants+receive+a+confirmation+email+after+they+submit+their+resumes.%0D%0A-+%5B+%5D+2.+An+Applicant%27s+resume+information+isn%27t+lost+when+errors+occur.%0D%0A-+%5B+%5D+3.+%7Bcriterion-three%7D%0D%0A-+%5B+%5D+4.+%7Bcriterion-four%7D%0D%0A%0D%0A%3C%21--+%E2%9B%94%EF%B8%8F++Do+not+remove+anything+below+this+comment.+%E2%9B%94%EF%B8%8F++--%3E%0D%0A%5Bicon-info-image%5D%3A+..%2Fdocs%2Fimg%2Ficons8%2Ficon-info-50.png%0D%0A
+[issues-url]: https://github.com/commonality/architecture-decision-records/issues
+[jest-logo-image]: ../docs/img/logo-jest.png
+[jest-url]: https://facebook.github.io/jest/
+[license-url]: ./LICENSE
+[makeapullrequest-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square
+[makeapullrequest-url]: http://makeapullrequest.com
+[markdown-toc-url]: https://github.com/jonschlinkert/markdown-toc
+[osi-logo-image]:../docs/img/logo-osi.png
+[product-development-guidelines-url]: ../docs/product-development-guidelines/js/PRODUCT_DEVELOPEMENT_GUIDELINES.md
+[product-repo-logo-image]: ../docs/img/logo-commonalaxy.png
+[product-repo-url]: .
+[stackshare-badge-image]: https://img.shields.io/badge/tech-stack-0690fa.svg?style=flat-square
+[stackshare-url]: https://stackshare.io/commonality/architecture-decision-records
+[standard-js-badge-image]: https://cdn.rawgit.com/standard/standard/master/badge.svg
+[standard-js-url]: https://github.com/standard/standard
+[standard-version-url]: https://github.com/conventional-changelog/standard-version
+[tech-stack-image]: ../docs/img/icons8/icon-package-filled.png
diff --git a/.github/ISSUE_TEMPLATE/defect-report.md b/.github/ISSUE_TEMPLATE/defect-report.md
new file mode 100644
index 0000000..0d4fbac
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/defect-report.md
@@ -0,0 +1,47 @@
+## 1. User story summary of expected behavior
+
+> ⌦ Describe what you want to accomplish, in what role/capacity,
+> ⌦ and why it's important to you.
+
+As a {role},
+I must/need/want/should {do something}
+In order to {achieve value}.
+
+## 2. Acceptance criteria
+
+> ⌦ Replace the examples below with your own imperative, "true/false" statements`
+> ⌦ for the __behavior you expect__ to see, or the behavior that __would__ be true if
+> ⌦ there were no errors (for defects).
+
+- [ ] 1. Job Applicants receive a confirmation email after they submit their resumes.
+- [ ] 2. An Applicant's resume information isn't lost when errors occur.
+- [ ] 3. {criterion-three}
+- [ ] 4. {criterion-four}
+
+## 🐞 3. Steps to reproduce (for defects only)
+
+- > ⌦ Provide a link to a live example, or
+- > ⌦ Replace the examples below with an unambiguous sequence of
+ > ⌦ instructions that end with proof of the defect.
+- > ⌦ Include source code and log files, if relevant and available.
+
+1. Enter the words "...." into the "Search" text field.
+2. Select the Search button.
+3. Next...
+4. Then...
+5. Finally...
+6. _X_ does not work as expected.
+
+## 🐞 4. Your environment (for defects only)
+
+- > ⌦ Include as many relevant details about the environment
+ > ⌦ in which the defect occured.
+
+* Version of `generator-community`:
+* Environment name and version (e.g. Chrome 39, node.js 5.4):
+* Operating System and version (desktop or mobile):
+* Link to your project:
+
+
+
+[icon-info-image]: ../docs/img/icons8/icon-info-50.png
diff --git a/.github/ISSUE_TEMPLATE/issue_template.md b/.github/ISSUE_TEMPLATE/issue_template.md
new file mode 100644
index 0000000..44b42a9
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/issue_template.md
@@ -0,0 +1,53 @@
+**💡 TIP:** Select the ↖︎⎾ Preview ⏋ Tab above help read these instructions.
+
+## 1. User story summary
+
+> ⌦ Describe what you want to accomplish, in what role/capacity, and why it's important to you.
+>
+> __EXAMPLE:__
+> As a Applicant,
+> I want to submit my resume
+> In order to be considered for a job opening.
+
+As a {role},
+I must/need/want/should {do something}
+In order to {achieve value}.
+
+## 2. Acceptance criteria
+
+> ⌦ Replace the examples below with your own imperative,
+> "true/false" statements for the __behavior you expect__
+> to see, or the behavior that __would__ be true if there
+> were no errors (for defects).
+
+- [ ] 1. Job Applicants receive a confirmation email after they submit their resumes.
+- [ ] 2. An Applicant's resume information isn't lost when errors occur.
+- [ ] 3. {criterion-three}
+- [ ] 4. {criterion-four}
+
+## 🐞 3. Steps to reproduce (for defects only)
+
+> ⌦ Provide a link to a live example, or
+> ⌦ Replace the examples below with an unambiguous sequence of instructions that end with proof of the defect.
+> ⌦ Include source code and log files, if relevant and available.
+
+1. Enter the words "...." into the "Search" text field.
+2. Select the Search button.
+3. Next...
+4. Then...
+5. Finally...
+6. _X_ does not work as expected.
+
+## 🐞 4. Your environment (for defects only)
+
+> ⌦ Include as many relevant details about the environment in which the defect occured.
+
+- Version of `generator-community`:
+- Environment name and version (e.g. Chrome 39, node.js 5.4):
+- Operating System and version (desktop or mobile):
+- Link to your project:
+
+
+[icon-info-image]: ../docs/img/icons8/icon-info-50.png
+
+[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg
diff --git a/.github/PULL_REQUEST_TEMPLATE/default-pr-template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
similarity index 100%
rename from .github/PULL_REQUEST_TEMPLATE/default-pr-template.md
rename to .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
diff --git a/.github/PULL_REQUEST_TEMPLATE/adr-madr-template.md b/.github/adr-templates/adr-madr-template.md
similarity index 100%
rename from .github/PULL_REQUEST_TEMPLATE/adr-madr-template.md
rename to .github/adr-templates/adr-madr-template.md
diff --git a/.github/adr-templates/adr-nygard-languages-template.md b/.github/adr-templates/adr-nygard-languages-template.md
new file mode 100644
index 0000000..3b44ad9
--- /dev/null
+++ b/.github/adr-templates/adr-nygard-languages-template.md
@@ -0,0 +1,100 @@
+# [ADR-ID]. [Summarized title of decision]
+
+Date: YYYY-MM-DD
+
+## Status
+
+| ADR Status | Capability - Category | TechRadar Quadrant - Ring |
+|:-------------:|:----------------------:|:----------------:|
+| ![ADR Status: Proposed][label-adr-proposed-img] | [Capability ![External link][icon-octicon-link-external]](.) [Category ![External link][icon-octicon-link-external]](.) | [![TechRadar: Languages and Frameworks][label-langs-frameworks-img]][tw-tech-radar-langs-frameworks-url] ![Hold][label-tech-radar-langs-frameworks-hold-img] |
+
+## Context
+
+> Describe the issue that is motivating this decision or change.
+
+## Decision
+
+> State your proposed decision.
+
+## Consequences
+
+> Objectively list how this change will make work easier or more difficult.
+
+
+
+[label-adr-proposed-img]: https://fakeimg.pl/160x40/0052cc/FFF/?text=Proposed&font_size=26
+[label-adr-accepted-img]: https://fakeimg.pl/160x40/0e8a16/FFF/?text=Accepted&font_size=26
+[label-adr-rejected-img]: https://fakeimg.pl/160x40/666/FFF/?text=Rejected&font_size=26
+[label-adr-deprecated-img]: https://fakeimg.pl/160x40/b60205/FFF/?text=Deprecated&font_size=26
+[label-adr-superseded-img]: https://fakeimg.pl/160x40/e99695/000/?text=Superseded&font_size=26
+
+
+
+[fake-images-pl-github-url]: https://github.com/Rydgel/Fake-images-please "View the source code on GitHub."
+[icon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/checklist.svg
+[icon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg
+[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg
+[icon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mark-github.svg
+[icon-md]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/markdown.svg
+[icon-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-media.svg
+
+
+
+
+
+[label-langs-frameworks-img]: https://fakeimg.pl/200x40/b32059/FFF/?text=Languages+%26+Frameworks&font_size=24
+[label-tech-radar-langs-frameworks-img]: https://fakeimg.pl/200x80/b32059/FFF/?text=TechRadar:%0ALanguages+%26+Frameworks&font_size=24
+
+
+
+[label-tech-radar-langs-frameworks-adopt-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Adopt&font_size=18
+[label-tech-radar-langs-frameworks-trial-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Trial&font_size=18
+[label-tech-radar-langs-frameworks-assess-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Assess&font_size=18
+[label-tech-radar-langs-frameworks-hold-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Hold&font_size=18
+
+
+
+[label-platforms-img]: https://fakeimg.pl/200x40/f38a3e/FFF/?text=Platforms&font_size=24
+[label-tech-radar-platforms-img]: https://fakeimg.pl/200x80/f38a3e/FFF/?text=TechRadar:+Platforms&font_size=24
+
+
+
+[label-tech-radar-platforms-adopt-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Adopt&font_size=18
+[label-tech-radar-platforms-trial-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Trial&font_size=18
+[label-tech-radar-platforms-assess-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Assess&font_size=18
+[label-tech-radar-platforms-hold-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Hold&font_size=18
+
+
+
+[label-techniques-img]: https://fakeimg.pl/200x40/1ebccd/FFF/?text=Techniques&font_size=24
+[label-tech-radar-techniques-img]: https://fakeimg.pl/200x80/1ebccd/FFF/?text=TechRadar:+Techniques&font_size=24
+
+
+
+[label-tech-radar-techniques-adopt-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Adopt&font_size=18
+[label-tech-radar-techniques-trial-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Trial&font_size=18
+[label-tech-radar-techniques-assess-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Assess&font_size=18
+[label-tech-radar-techniques-hold-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Hold&font_size=18
+
+
+
+[label-tools-img]: https://fakeimg.pl/200x40/86b782/FFF/?text=Tools&font_size=24
+[label-tech-radar-tools-img]: https://fakeimg.pl/200x80/86b782/FFF/?text=TechRadar:+Tools&font_size=24
+
+
+
+[label-tech-radar-tools-adopt-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Adopt&font_size=18
+[label-tech-radar-tools-trial-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Trial&font_size=18
+[label-tech-radar-tools-assess-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Assess&font_size=18
+[label-tech-radar-tools-hold-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Hold&font_size=18
+
+
+
+[nygard-article-url]: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
+[tw-tech-radar-adrs]: https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records
+[tw-tech-radar-evolutionary-architecture]: https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
+[tw-tech-radar-faq-url]: https://www.thoughtworks.com/radar/a-z
+[tw-tech-radar-langs-frameworks-url]: https://www.thoughtworks.com/radar/languages-and-frameworks
+[tw-tech-radar-platforms-url]: https://www.thoughtworks.com/radar/platforms
+[tw-tech-radar-techniques-url]: https://www.thoughtworks.com/radar/techniques
+[tw-tech-radar-tools-url]: https://www.thoughtworks.com/radar/tools
\ No newline at end of file
diff --git a/.github/adr-templates/adr-nygard-platforms-template.md b/.github/adr-templates/adr-nygard-platforms-template.md
new file mode 100644
index 0000000..b7fa8eb
--- /dev/null
+++ b/.github/adr-templates/adr-nygard-platforms-template.md
@@ -0,0 +1,100 @@
+# [ADR-ID]. [Summarized title of decision]
+
+Date: YYYY-MM-DD
+
+## Status
+
+| ADR Status | Capability - Category | TechRadar Quadrant - Ring |
+|:-------------:|:----------------------:|:----------------:|
+| ![ADR Status: Proposed][label-adr-proposed-img] | [Capability ![External link][icon-octicon-link-external]](.) [Category ![External link][icon-octicon-link-external]](.) | [![TechRadar: Platforms][label-platforms-img]][tw-tech-radar-platforms-url] ![Hold][label-tech-radar-platforms-hold-img] |
+
+## Context
+
+> Describe the issue that is motivating this decision or change.
+
+## Decision
+
+> State your proposed decision.
+
+## Consequences
+
+> Objectively list how this change will make work easier or more difficult.
+
+
+
+[label-adr-proposed-img]: https://fakeimg.pl/160x40/0052cc/FFF/?text=Proposed&font_size=26
+[label-adr-accepted-img]: https://fakeimg.pl/160x40/0e8a16/FFF/?text=Accepted&font_size=26
+[label-adr-rejected-img]: https://fakeimg.pl/160x40/666/FFF/?text=Rejected&font_size=26
+[label-adr-deprecated-img]: https://fakeimg.pl/160x40/b60205/FFF/?text=Deprecated&font_size=26
+[label-adr-superseded-img]: https://fakeimg.pl/160x40/e99695/000/?text=Superseded&font_size=26
+
+
+
+[fake-images-pl-github-url]: https://github.com/Rydgel/Fake-images-please "View the source code on GitHub."
+[icon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/checklist.svg
+[icon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg
+[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg
+[icon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mark-github.svg
+[icon-md]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/markdown.svg
+[icon-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-media.svg
+
+
+
+
+
+[label-langs-frameworks-img]: https://fakeimg.pl/200x40/b32059/FFF/?text=Languages+%26+Frameworks&font_size=24
+[label-tech-radar-langs-frameworks-img]: https://fakeimg.pl/200x80/b32059/FFF/?text=TechRadar:%0ALanguages+%26+Frameworks&font_size=24
+
+
+
+[label-tech-radar-langs-frameworks-adopt-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Adopt&font_size=18
+[label-tech-radar-langs-frameworks-trial-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Trial&font_size=18
+[label-tech-radar-langs-frameworks-assess-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Assess&font_size=18
+[label-tech-radar-langs-frameworks-hold-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Hold&font_size=18
+
+
+
+[label-platforms-img]: https://fakeimg.pl/200x40/f38a3e/FFF/?text=Platforms&font_size=24
+[label-tech-radar-platforms-img]: https://fakeimg.pl/200x80/f38a3e/FFF/?text=TechRadar:+Platforms&font_size=24
+
+
+
+[label-tech-radar-platforms-adopt-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Adopt&font_size=18
+[label-tech-radar-platforms-trial-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Trial&font_size=18
+[label-tech-radar-platforms-assess-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Assess&font_size=18
+[label-tech-radar-platforms-hold-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Hold&font_size=18
+
+
+
+[label-techniques-img]: https://fakeimg.pl/200x40/1ebccd/FFF/?text=Techniques&font_size=24
+[label-tech-radar-techniques-img]: https://fakeimg.pl/200x80/1ebccd/FFF/?text=TechRadar:+Techniques&font_size=24
+
+
+
+[label-tech-radar-techniques-adopt-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Adopt&font_size=18
+[label-tech-radar-techniques-trial-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Trial&font_size=18
+[label-tech-radar-techniques-assess-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Assess&font_size=18
+[label-tech-radar-techniques-hold-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Hold&font_size=18
+
+
+
+[label-tools-img]: https://fakeimg.pl/200x40/86b782/FFF/?text=Tools&font_size=24
+[label-tech-radar-tools-img]: https://fakeimg.pl/200x80/86b782/FFF/?text=TechRadar:+Tools&font_size=24
+
+
+
+[label-tech-radar-tools-adopt-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Adopt&font_size=18
+[label-tech-radar-tools-trial-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Trial&font_size=18
+[label-tech-radar-tools-assess-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Assess&font_size=18
+[label-tech-radar-tools-hold-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Hold&font_size=18
+
+
+
+[nygard-article-url]: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
+[tw-tech-radar-adrs]: https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records
+[tw-tech-radar-evolutionary-architecture]: https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
+[tw-tech-radar-faq-url]: https://www.thoughtworks.com/radar/a-z
+[tw-tech-radar-langs-frameworks-url]: https://www.thoughtworks.com/radar/languages-and-frameworks
+[tw-tech-radar-platforms-url]: https://www.thoughtworks.com/radar/platforms
+[tw-tech-radar-techniques-url]: https://www.thoughtworks.com/radar/techniques
+[tw-tech-radar-tools-url]: https://www.thoughtworks.com/radar/tools
diff --git a/.github/adr-templates/adr-nygard-techniques-template.md b/.github/adr-templates/adr-nygard-techniques-template.md
new file mode 100644
index 0000000..899f28f
--- /dev/null
+++ b/.github/adr-templates/adr-nygard-techniques-template.md
@@ -0,0 +1,100 @@
+# [ADR-ID]. [Summarized title of decision]
+
+Date: YYYY-MM-DD
+
+## Status
+
+| ADR Status | Capability - Category | TechRadar Quadrant - Ring |
+|:-------------:|:----------------------:|:----------------:|
+| ![ADR Status: Proposed][label-adr-proposed-img] | [Capability ![External link][icon-octicon-link-external]](.) [Category ![External link][icon-octicon-link-external]](.) | [![TechRadar: Techniques][label-techniques-img]][tw-tech-radar-techniques-url] ![Hold][label-tech-radar-techniques-hold-img] |
+
+## Context
+
+> Describe the issue that is motivating this decision or change.
+
+## Decision
+
+> State your proposed decision.
+
+## Consequences
+
+> Objectively list how this change will make work easier or more difficult.
+
+
+
+[label-adr-proposed-img]: https://fakeimg.pl/160x40/0052cc/FFF/?text=Proposed&font_size=26
+[label-adr-accepted-img]: https://fakeimg.pl/160x40/0e8a16/FFF/?text=Accepted&font_size=26
+[label-adr-rejected-img]: https://fakeimg.pl/160x40/666/FFF/?text=Rejected&font_size=26
+[label-adr-deprecated-img]: https://fakeimg.pl/160x40/b60205/FFF/?text=Deprecated&font_size=26
+[label-adr-superseded-img]: https://fakeimg.pl/160x40/e99695/000/?text=Superseded&font_size=26
+
+
+
+[fake-images-pl-github-url]: https://github.com/Rydgel/Fake-images-please "View the source code on GitHub."
+[icon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/checklist.svg
+[icon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg
+[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg
+[icon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mark-github.svg
+[icon-md]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/markdown.svg
+[icon-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-media.svg
+
+
+
+
+
+[label-langs-frameworks-img]: https://fakeimg.pl/200x40/b32059/FFF/?text=Languages+%26+Frameworks&font_size=24
+[label-tech-radar-langs-frameworks-img]: https://fakeimg.pl/200x80/b32059/FFF/?text=TechRadar:%0ALanguages+%26+Frameworks&font_size=24
+
+
+
+[label-tech-radar-langs-frameworks-adopt-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Adopt&font_size=18
+[label-tech-radar-langs-frameworks-trial-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Trial&font_size=18
+[label-tech-radar-langs-frameworks-assess-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Assess&font_size=18
+[label-tech-radar-langs-frameworks-hold-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Hold&font_size=18
+
+
+
+[label-platforms-img]: https://fakeimg.pl/200x40/f38a3e/FFF/?text=Platforms&font_size=24
+[label-tech-radar-platforms-img]: https://fakeimg.pl/200x80/f38a3e/FFF/?text=TechRadar:+Platforms&font_size=24
+
+
+
+[label-tech-radar-platforms-adopt-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Adopt&font_size=18
+[label-tech-radar-platforms-trial-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Trial&font_size=18
+[label-tech-radar-platforms-assess-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Assess&font_size=18
+[label-tech-radar-platforms-hold-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Hold&font_size=18
+
+
+
+[label-techniques-img]: https://fakeimg.pl/200x40/1ebccd/FFF/?text=Techniques&font_size=24
+[label-tech-radar-techniques-img]: https://fakeimg.pl/200x80/1ebccd/FFF/?text=TechRadar:+Techniques&font_size=24
+
+
+
+[label-tech-radar-techniques-adopt-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Adopt&font_size=18
+[label-tech-radar-techniques-trial-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Trial&font_size=18
+[label-tech-radar-techniques-assess-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Assess&font_size=18
+[label-tech-radar-techniques-hold-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Hold&font_size=18
+
+
+
+[label-tools-img]: https://fakeimg.pl/200x40/86b782/FFF/?text=Tools&font_size=24
+[label-tech-radar-tools-img]: https://fakeimg.pl/200x80/86b782/FFF/?text=TechRadar:+Tools&font_size=24
+
+
+
+[label-tech-radar-tools-adopt-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Adopt&font_size=18
+[label-tech-radar-tools-trial-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Trial&font_size=18
+[label-tech-radar-tools-assess-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Assess&font_size=18
+[label-tech-radar-tools-hold-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Hold&font_size=18
+
+
+
+[nygard-article-url]: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
+[tw-tech-radar-adrs]: https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records
+[tw-tech-radar-evolutionary-architecture]: https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
+[tw-tech-radar-faq-url]: https://www.thoughtworks.com/radar/a-z
+[tw-tech-radar-langs-frameworks-url]: https://www.thoughtworks.com/radar/languages-and-frameworks
+[tw-tech-radar-langs-platforms-url]: https://www.thoughtworks.com/radar/platforms
+[tw-tech-radar-techniques-url]: https://www.thoughtworks.com/radar/techniques
+[tw-tech-radar-tools-url]: https://www.thoughtworks.com/radar/tools
diff --git a/.github/PULL_REQUEST_TEMPLATE/adr-nygard-template.md b/.github/adr-templates/adr-nygard-tools-template.md
similarity index 75%
rename from .github/PULL_REQUEST_TEMPLATE/adr-nygard-template.md
rename to .github/adr-templates/adr-nygard-tools-template.md
index 6228565..a4e9ae0 100644
--- a/.github/PULL_REQUEST_TEMPLATE/adr-nygard-template.md
+++ b/.github/adr-templates/adr-nygard-tools-template.md
@@ -1,11 +1,12 @@
-# [ADR-ID]. [Summarized title of decision]
+# [ADR-ID]. [Summarized title of decision]
Date: YYYY-MM-DD
## Status
-
-![ADR Status: Proposed][label-adr-proposed-img]
+| ADR Status | Capability - Category | TechRadar Quadrant - Ring |
+|:-------------:|:----------------------:|:----------------:|
+| ![ADR Status: Proposed][label-adr-proposed-img] | [Capability ![External link][icon-octicon-link-external]](.) [Category ![External link][icon-octicon-link-external]](.) | [![TechRadar: Tools][label-tools-img]][tw-tech-radar-techniques-url] ![Hold][label-tech-radar-tools-hold-img] |
## Context
@@ -19,9 +20,7 @@ Date: YYYY-MM-DD
> Objectively list how this change will make work easier or more difficult.
-
-
-
+
[label-adr-proposed-img]: https://fakeimg.pl/160x40/0052cc/FFF/?text=Proposed&font_size=26
[label-adr-accepted-img]: https://fakeimg.pl/160x40/0e8a16/FFF/?text=Accepted&font_size=26
@@ -42,34 +41,60 @@ Date: YYYY-MM-DD
+
[label-langs-frameworks-img]: https://fakeimg.pl/200x40/b32059/FFF/?text=Languages+%26+Frameworks&font_size=24
[label-tech-radar-langs-frameworks-img]: https://fakeimg.pl/200x80/b32059/FFF/?text=TechRadar:%0ALanguages+%26+Frameworks&font_size=24
+
+
[label-tech-radar-langs-frameworks-adopt-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Adopt&font_size=18
-[label-tech-radar-langs-frameworks-trial-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Trial&font_size=
+[label-tech-radar-langs-frameworks-trial-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Trial&font_size=18
[label-tech-radar-langs-frameworks-assess-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Assess&font_size=18
[label-tech-radar-langs-frameworks-hold-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Hold&font_size=18
+
+
[label-platforms-img]: https://fakeimg.pl/200x40/f38a3e/FFF/?text=Platforms&font_size=24
[label-tech-radar-platforms-img]: https://fakeimg.pl/200x80/f38a3e/FFF/?text=TechRadar:+Platforms&font_size=24
+
+
[label-tech-radar-platforms-adopt-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Adopt&font_size=18
[label-tech-radar-platforms-trial-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Trial&font_size=18
[label-tech-radar-platforms-assess-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Assess&font_size=18
[label-tech-radar-platforms-hold-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Hold&font_size=18
+
+
[label-techniques-img]: https://fakeimg.pl/200x40/1ebccd/FFF/?text=Techniques&font_size=24
[label-tech-radar-techniques-img]: https://fakeimg.pl/200x80/1ebccd/FFF/?text=TechRadar:+Techniques&font_size=24
+
+
[label-tech-radar-techniques-adopt-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Adopt&font_size=18
[label-tech-radar-techniques-trial-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Trial&font_size=18
[label-tech-radar-techniques-assess-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Assess&font_size=18
[label-tech-radar-techniques-hold-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Hold&font_size=18
+
+
[label-tools-img]: https://fakeimg.pl/200x40/86b782/FFF/?text=Tools&font_size=24
[label-tech-radar-tools-img]: https://fakeimg.pl/200x80/86b782/FFF/?text=TechRadar:+Tools&font_size=24
+
+
[label-tech-radar-tools-adopt-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Adopt&font_size=18
[label-tech-radar-tools-trial-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Trial&font_size=18
[label-tech-radar-tools-assess-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Assess&font_size=18
[label-tech-radar-tools-hold-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Hold&font_size=18
+
+
+
+[nygard-article-url]: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
+[tw-tech-radar-adrs]: https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records
+[tw-tech-radar-evolutionary-architecture]: https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
+[tw-tech-radar-faq-url]: https://www.thoughtworks.com/radar/a-z
+[tw-tech-radar-langs-frameworks-url]: https://www.thoughtworks.com/radar/languages-and-frameworks
+[tw-tech-radar-langs-platforms-url]: https://www.thoughtworks.com/radar/platforms
+[tw-tech-radar-techniques-url]: https://www.thoughtworks.com/radar/techniques
+[tw-tech-radar-tools-url]: https://www.thoughtworks.com/radar/tools
diff --git a/.github/adr-templates/en.md b/.github/adr-templates/en.md
new file mode 100644
index 0000000..860ba0d
--- /dev/null
+++ b/.github/adr-templates/en.md
@@ -0,0 +1,100 @@
+# {NUMBER}. {TITLE}
+
+Date: {DATE}
+
+## Status
+
+| ADR Status | Capability - Category | TechRadar Quadrant - Ring |
+|:-------------:|:----------------------:|:----------------:|
+| ![ADR Status: Proposed][label-adr-proposed-img] | [Capability ![External link][icon-octicon-link-external]](.) [Category ![External link][icon-octicon-link-external]](.) | [![TechRadar: Languages and Frameworks][label-langs-frameworks-img]][tw-tech-radar-langs-frameworks-url] ![Hold][label-tech-radar-langs-frameworks-hold-img] |
+
+## Context
+
+> Describe the issue that is motivating this decision or change.
+
+## Decision
+
+> State your proposed decision.
+
+## Consequences
+
+> Objectively list how this change will make work easier or more difficult.
+
+
+
+[label-adr-proposed-img]: https://fakeimg.pl/160x40/0052cc/FFF/?text=Proposed&font_size=26
+[label-adr-accepted-img]: https://fakeimg.pl/160x40/0e8a16/FFF/?text=Accepted&font_size=26
+[label-adr-rejected-img]: https://fakeimg.pl/160x40/666/FFF/?text=Rejected&font_size=26
+[label-adr-deprecated-img]: https://fakeimg.pl/160x40/b60205/FFF/?text=Deprecated&font_size=26
+[label-adr-superseded-img]: https://fakeimg.pl/160x40/e99695/000/?text=Superseded&font_size=26
+
+
+
+[fake-images-pl-github-url]: https://github.com/Rydgel/Fake-images-please "View the source code on GitHub."
+[icon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/checklist.svg
+[icon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg
+[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg
+[icon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mark-github.svg
+[icon-md]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/markdown.svg
+[icon-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-media.svg
+
+
+
+
+
+[label-langs-frameworks-img]: https://fakeimg.pl/200x40/b32059/FFF/?text=Languages+%26+Frameworks&font_size=24
+[label-tech-radar-langs-frameworks-img]: https://fakeimg.pl/200x80/b32059/FFF/?text=TechRadar:%0ALanguages+%26+Frameworks&font_size=24
+
+
+
+[label-tech-radar-langs-frameworks-adopt-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Adopt&font_size=18
+[label-tech-radar-langs-frameworks-trial-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Trial&font_size=18
+[label-tech-radar-langs-frameworks-assess-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Assess&font_size=18
+[label-tech-radar-langs-frameworks-hold-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Hold&font_size=18
+
+
+
+[label-platforms-img]: https://fakeimg.pl/200x40/f38a3e/FFF/?text=Platforms&font_size=24
+[label-tech-radar-platforms-img]: https://fakeimg.pl/200x80/f38a3e/FFF/?text=TechRadar:+Platforms&font_size=24
+
+
+
+[label-tech-radar-platforms-adopt-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Adopt&font_size=18
+[label-tech-radar-platforms-trial-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Trial&font_size=18
+[label-tech-radar-platforms-assess-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Assess&font_size=18
+[label-tech-radar-platforms-hold-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Hold&font_size=18
+
+
+
+[label-techniques-img]: https://fakeimg.pl/200x40/1ebccd/FFF/?text=Techniques&font_size=24
+[label-tech-radar-techniques-img]: https://fakeimg.pl/200x80/1ebccd/FFF/?text=TechRadar:+Techniques&font_size=24
+
+
+
+[label-tech-radar-techniques-adopt-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Adopt&font_size=18
+[label-tech-radar-techniques-trial-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Trial&font_size=18
+[label-tech-radar-techniques-assess-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Assess&font_size=18
+[label-tech-radar-techniques-hold-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Hold&font_size=18
+
+
+
+[label-tools-img]: https://fakeimg.pl/200x40/86b782/FFF/?text=Tools&font_size=24
+[label-tech-radar-tools-img]: https://fakeimg.pl/200x80/86b782/FFF/?text=TechRadar:+Tools&font_size=24
+
+
+
+[label-tech-radar-tools-adopt-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Adopt&font_size=18
+[label-tech-radar-tools-trial-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Trial&font_size=18
+[label-tech-radar-tools-assess-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Assess&font_size=18
+[label-tech-radar-tools-hold-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Hold&font_size=18
+
+
+
+[nygard-article-url]: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
+[tw-tech-radar-adrs]: https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records
+[tw-tech-radar-evolutionary-architecture]: https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
+[tw-tech-radar-faq-url]: https://www.thoughtworks.com/radar/a-z
+[tw-tech-radar-langs-frameworks-url]: https://www.thoughtworks.com/radar/languages-and-frameworks
+[tw-tech-radar-platforms-url]: https://www.thoughtworks.com/radar/platforms
+[tw-tech-radar-techniques-url]: https://www.thoughtworks.com/radar/techniques
+[tw-tech-radar-tools-url]: https://www.thoughtworks.com/radar/tools
\ No newline at end of file
diff --git a/.github/config/.editorconfig b/.github/config/.editorconfig
new file mode 100644
index 0000000..beffa30
--- /dev/null
+++ b/.github/config/.editorconfig
@@ -0,0 +1,11 @@
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/.github/config/.eslintignore b/.github/config/.eslintignore
new file mode 100644
index 0000000..584376d
--- /dev/null
+++ b/.github/config/.eslintignore
@@ -0,0 +1,14 @@
+*.bundle.js
+*.spec.js
+/.nyc_output/*
+/build/**
+/coverage/**
+/docs/**
+/jsdoc/**
+/reports/**
+/templates/**
+/tests/bench/**
+/tests/fixtures/**
+/tests/performance/**
+/tmp/**
+test.js
diff --git a/.github/config/.eslintrc.yml b/.github/config/.eslintrc.yml
new file mode 100644
index 0000000..77276ba
--- /dev/null
+++ b/.github/config/.eslintrc.yml
@@ -0,0 +1,453 @@
+---
+parserOptions:
+ attachComment: true
+ comment: true
+ ecmaFeatures:
+ experimentalObjectRestSpread: true
+ globalReturn: true
+ impliedStrict: true
+ jsx: true
+ ecmaVersion: 2017
+ loc: true
+ range: true
+ sourceType: module
+ tokens: true
+env:
+ browser: false
+ commonjs: true
+ es6: true
+ jest: true
+ mocha: true
+ node: true
+plugins:
+- import
+- jsdoc
+- node
+- promise
+- security
+- standard
+- unicorn
+- xss
+extends:
+- eslint:all
+globals:
+ document: false
+ navigator: false
+ window: false
+rules:
+ accessor-pairs: error
+ allowAllPropertiesOnSameLine: false
+ arrow-parens: warn
+ arrow-spacing:
+ - error
+ - before: true
+ after: true
+ block-spacing:
+ - error
+ - always
+ brace-style:
+ - error
+ - 1tbs
+ - allowSingleLine: true
+ camelcase:
+ - error
+ - properties: never
+ comma-dangle:
+ - error
+ - arrays: never
+ objects: never
+ imports: never
+ exports: never
+ functions: never
+ comma-spacing:
+ - error
+ - before: false
+ after: true
+ comma-style:
+ - error
+ - last
+ constructor-super: error
+ curly:
+ - error
+ - multi-line
+ dot-location:
+ - error
+ - property
+ eol-last: error
+ eqeqeq:
+ - error
+ - always
+ - 'null': ignore
+ func-call-spacing:
+ - error
+ - never
+ generator-star-spacing:
+ - error
+ - before: true
+ after: true
+ handle-callback-err:
+ - error
+ - "^(err|error)$"
+ indent:
+ - error
+ - 2
+ - SwitchCase: 4
+ key-spacing:
+ - error
+ - beforeColon: false
+ afterColon: true
+ keyword-spacing:
+ - error
+ - before: true
+ after: true
+ lines-around-comment:
+ - error
+ - afterBlockComment: true
+ afterLineComment: true
+ allowArrayEnd: true
+ allowArrayStart: true
+ allowBlockEnd: true
+ allowBlockStart: true
+ allowClassEnd: true
+ allowClassStart: true
+ allowObjectEnd: true
+ allowObjectStart: true
+ beforeBlockComment: true
+ beforeLineComment: true
+ max-len:
+ - warn
+ - code: 180
+ - comments: 180
+ new-cap:
+ - error
+ - newIsCap: true
+ capIsNew: false
+ new-parens: error
+ no-array-constructor: error
+ no-caller: error
+ no-class-assign: error
+ no-compare-neg-zero: error
+ no-cond-assign: error
+ no-const-assign: error
+ no-constant-condition:
+ - error
+ - checkLoops: false
+ no-console: warn
+ no-control-regex: error
+ no-debugger: error
+ no-delete-var: error
+ no-dupe-args: error
+ no-dupe-class-members: error
+ no-dupe-keys: error
+ no-duplicate-case: error
+ no-empty-character-class: error
+ no-empty-pattern: error
+ no-eval: error
+ no-ex-assign: error
+ no-extend-native: error
+ no-extra-bind: error
+ no-extra-boolean-cast: error
+ no-extra-parens:
+ - error
+ - functions
+ no-fallthrough: error
+ no-floating-decimal: error
+ no-func-assign: error
+ no-global-assign: error
+ no-implied-eval: error
+ no-inline-comments: warn
+ no-inner-declarations:
+ - error
+ - functions
+ no-invalid-regexp: error
+ no-irregular-whitespace: error
+ no-iterator: error
+ no-label-var: error
+ no-labels:
+ - error
+ - allowLoop: false
+ allowSwitch: false
+ no-lone-blocks: error
+ no-mixed-operators:
+ - error
+ - groups:
+ - - "=="
+ - "!="
+ - "==="
+ - "!=="
+ - ">"
+ - ">="
+ - "<"
+ - "<="
+ - - "&&"
+ - "||"
+ - - in
+ - instanceof
+ allowSamePrecedence: true
+ no-mixed-spaces-and-tabs: error
+ no-multi-spaces: error
+ no-multi-str: error
+ no-multiple-empty-lines:
+ - error
+ - max: 1
+ maxEOF: 0
+ no-negated-in-lhs: error
+ no-new: error
+ no-new-func: error
+ no-new-object: error
+ no-new-require: error
+ no-new-symbol: error
+ no-new-wrappers: error
+ no-obj-calls: error
+ no-octal: error
+ no-octal-escape: error
+ no-path-concat: error
+ no-proto: error
+ no-redeclare: error
+ no-regex-spaces: error
+ no-return-assign:
+ - error
+ - except-parens
+ no-return-await: error
+ no-self-assign: error
+ no-self-compare: error
+ no-sequences: error
+ no-shadow-restricted-names: error
+ no-sparse-arrays: error
+ no-sync: off
+ no-tabs: error
+ no-template-curly-in-string: error
+ no-this-before-super: error
+ no-throw-literal: error
+ no-trailing-spaces: error
+ no-undef: error
+ no-undef-init: error
+ no-unexpected-multiline: error
+ no-unmodified-loop-condition: error
+ no-unneeded-ternary:
+ - error
+ - defaultAssignment: false
+ no-unreachable: error
+ no-unsafe-finally: error
+ no-unsafe-negation: error
+ no-unused-expressions:
+ - error
+ - allowShortCircuit: true
+ allowTernary: true
+ allowTaggedTemplates: true
+ no-unused-vars:
+ - error
+ - vars: all
+ args: none
+ ignoreRestSiblings: true
+ no-use-before-define:
+ - error
+ - functions: false
+ classes: false
+ variables: false
+ no-useless-call: error
+ no-useless-computed-key: error
+ no-useless-constructor: error
+ no-useless-escape: error
+ no-useless-rename: error
+ no-useless-return: error
+ no-whitespace-before-property: error
+ no-with: error
+ object-curly-newline:
+ - error
+ - ObjectExpression: always
+ ObjectPattern:
+ multiline: true
+ object-property-newline:
+ - error
+ - allowMultiplePropertiesPerLine: true
+ one-var:
+ - error
+ - initialized: never
+ operator-linebreak:
+ - error
+ - after
+ - overrides:
+ "?": before
+ ":": before
+ padded-blocks:
+ - error
+ - blocks: never
+ switches: never
+ classes: never
+ prefer-promise-reject-errors: error
+ quotes:
+ - error
+ - double
+ - avoidEscape: true
+ allowTemplateLiterals: true
+ rest-spread-spacing:
+ - error
+ - never
+ semi:
+ - error
+ - always
+ semi-spacing:
+ - error
+ - before: false
+ after: true
+ space-before-blocks:
+ - error
+ - always
+ space-before-function-paren:
+ - error
+ - always
+ space-in-parens:
+ - error
+ - never
+ space-infix-ops: error
+ space-unary-ops:
+ - error
+ - words: true
+ nonwords: false
+ spaced-comment:
+ - error
+ - always
+ - line:
+ markers:
+ - "*package"
+ - "!"
+ - "#!"
+ - "/"
+ - ","
+ block:
+ balanced: true
+ markers:
+ - "*package"
+ - "!"
+ - ","
+ - ":"
+ - "::"
+ - flow-include
+ exceptions:
+ - "*"
+ symbol-description: error
+ template-curly-spacing:
+ - error
+ - never
+ template-tag-spacing:
+ - error
+ - never
+ unicode-bom:
+ - error
+ - never
+ use-isnan: error
+ valid-typeof:
+ - error
+ - requireStringLiterals: true
+ wrap-iife:
+ - error
+ - any
+ - functionPrototypeMethods: true
+ yield-star-spacing:
+ - error
+ - both
+ yoda:
+ - error
+ - never
+ jsdoc/check-param-names: warn
+ jsdoc/check-tag-names: warn
+ jsdoc/check-types: warn
+ jsdoc/newline-after-description: warn
+ jsdoc/require-description-complete-sentence: warn
+ jsdoc/require-example: warn
+ jsdoc/require-hyphen-before-param-description: warn
+ jsdoc/require-param: warn
+ jsdoc/require-param-description: warn
+ jsdoc/require-param-type: warn
+ jsdoc/require-returns-description: warn
+ jsdoc/require-returns-type: warn
+ node/exports-style: error
+ node/no-deprecated-api: error
+ node/no-extraneous-import: error
+ node/no-extraneous-require: error
+ node/no-missing-import: error
+ node/no-missing-require: error
+ node/no-unpublished-bin: error
+ node/no-unpublished-import: error
+ node/no-unpublished-require:
+ - error
+ - allowModules:
+ - glob-promise
+ - escomplex
+ node/no-unsupported-features:
+ - error
+ - version: 7
+ ignores:
+ - defaultParameters
+ - destructuring
+ node/process-exit-as-throw: error
+ node/shebang: warn
+ promise/param-names: error
+ standard/array-bracket-even-spacing:
+ - error
+ - either
+ standard/computed-property-even-spacing:
+ - error
+ - even
+ standard/no-callback-literal: error
+ standard/object-curly-even-spacing:
+ - error
+ - either
+ # scanjs-rules/accidental_assignment: error
+ # scanjs-rules/assign_to_hostname: error
+ # scanjs-rules/assign_to_href: error
+ # scanjs-rules/assign_to_location: error
+ # scanjs-rules/assign_to_onmessage: error
+ # scanjs-rules/assign_to_pathname: error
+ # scanjs-rules/assign_to_protocol: error
+ # scanjs-rules/assign_to_search: error
+ # scanjs-rules/assign_to_src: error
+ # scanjs-rules/call_Function: error
+ # scanjs-rules/call_addEventListener: error
+ # scanjs-rules/call_addEventListener_deviceproximity: error
+ # scanjs-rules/call_addEventListener_message: error
+ # scanjs-rules/call_connect: error
+ # scanjs-rules/call_eval: error
+ # scanjs-rules/call_execScript: error
+ # scanjs-rules/call_hide: error
+ # scanjs-rules/call_open_remote=true: error
+ # scanjs-rules/call_parseFromString: error
+ # scanjs-rules/call_setImmediate: error
+ # scanjs-rules/call_setInterval: error
+ # scanjs-rules/call_setTimeout: error
+ # scanjs-rules/identifier_indexedDB: error
+ # scanjs-rules/identifier_localStorage: error
+ # scanjs-rules/identifier_sessionStorage: error
+ # scanjs-rules/new_Function: error
+ # scanjs-rules/property_addIdleObserver: error
+ # scanjs-rules/property_createContextualFragment: error
+ # scanjs-rules/property_crypto: error
+ # scanjs-rules/property_geolocation: error
+ # scanjs-rules/property_getUserMedia: error
+ # scanjs-rules/property_indexedDB: error
+ # scanjs-rules/property_localStorage: error
+ # scanjs-rules/property_mgmt: error
+ # scanjs-rules/property_sessionStorage: error
+ unicorn/catch-error-name:
+ - error
+ - name: err
+ unicorn/custom-error-definition: error
+ unicorn/escape-case: error
+ unicorn/explicit-length-check: error
+ unicorn/filename-case:
+ - error
+ - case: kebabCase
+ unicorn/import-index: error
+ unicorn/new-for-builtins: error
+ unicorn/no-abusive-eslint-disable: error
+ unicorn/no-array-instanceof: error
+ unicorn/no-fn-reference-in-iterator: error
+ unicorn/no-hex-escape: error
+ unicorn/no-new-buffer: error
+ unicorn/no-process-exit: error
+ unicorn/number-literal-case: error
+ unicorn/prefer-starts-ends-with: error
+ unicorn/prefer-type-error: error
+ unicorn/regex-shorthand: error
+ unicorn/throw-new-error: error
diff --git a/.github/config/.yo-rc.json b/.github/config/.yo-rc.json
new file mode 100644
index 0000000..51ca759
--- /dev/null
+++ b/.github/config/.yo-rc.json
@@ -0,0 +1,11 @@
+{
+ "generator-community": {
+ "promptValues": {
+ "authorName": "commonality",
+ "authorEmail": "greg@swindle.net",
+ "authorUrl": "https://github.com/commonality",
+ "lang": "Node.js",
+ "dependencyManager": "npm"
+ }
+ }
+}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a3ed335
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,85 @@
+### Code ###
+# Visual Studio Code - https://code.visualstudio.com/
+.settings/
+.vscode/
+tsconfig.json
+jsconfig.json
+
+
+# IDE configuration
+# IDE: IntelliJ IDEA
+.idea
+eslint-plugin-crc.iml
+
+# IDE: atom
+.on-save.json
+
+# Logs
+logs
+*.log
+npm-debug.log*
+
+# Runtime data
+pids
+*.pid
+*.seed
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+coverage.lcov
+
+# JUnit Test results
+test-results.xml
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules
+jspm_packages
+
+# Optional npm cache directory
+.npm
+
+# Optional REPL history
+.node_repl_history
+
+# Documentation
+# docs
+.ci-cd/.keys
+reports
+
+# Local tasks
+*.tasks.*
+
+# Sonar Scanner
+/.scannerwork
+
+.DS_Store
+
+.zappr.yaml
+
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+
+node_modules/
+bower_components/
+*.log
+
+build/
+dist/
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..55e2d34
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,21 @@
+---
+language: node_js
+
+notifications:
+ email: false
+
+node_js:
+ - 9
+ - 8
+ - 7
+ - 6
+ - node
+
+before_script:
+ - npm prune
+
+script:
+ - npm test
+
+after_script:
+ - cat ./coverage/lcov.info | coveralls
diff --git a/README.md b/README.md
index 6f8e83c..2520e87 100644
--- a/README.md
+++ b/README.md
@@ -1,36 +1,310 @@
-# Architecture Decision Records (ADRs)
+# Architecture Decision Records (ADRs) [![TechRadar Quadrant: Technique][badge-tech-radar-techniques]](https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records)
-> A community-driven repository of Architecture Decision Records (ADRs): lightweight, actionable documents that capture design, framework, and application choices that address significant requirements and product delivery challenges facing commonality's product delivery teams.
+> Capture important architectural and design decisions—along with their context and consequences—for the benefit of future team members, as well as and external oversight.
+
+[![The MIT License][license-image]][license-url]
+[![npm][npm-image]][npm-url]
+
+[![David][daviddm-image]][daviddm-url]
+[![David][daviddm-dev-image]][daviddm-dev-url]
+[](https://github.com/commonality/architecture-decision-records/issues)
---
+## Index of ADRs
+
+- [1. Record architecture decisions](docs/0001-record-architecture-decisions.md)
+
## Propose an architecture decision
-> We classify ADRs by [TechRadar ![External link][icon-octicon-link-external]][tw-tech-radar-faq-url] Quadrant.
+> We classify ADRs by [TechRadar ![External link][icon-octicon-link-external]][tw-tech-radar-faq-url] Quadrant.
+
+- [![TechRadar Quadrant: Languages and Frameworks][badge-tech-radar-langs]][tw-tr-languages-frameworks]
+
+ > **Programming Languages** are what people use to write software.
+ > **Frameworks** provide structure and support software is written.
+
+ [Propose a **Language or Framework** decision][adr-nygard-languages-template]
+
+- [![TechRadar Quadrant: Platforms][badge-tech-radar-platforms]][tw-tr-platforms]
+
+ > **Platforms** host or execute software, and refer to things like operating systems, VMs, and hybrid clouds.
+
+ [Propose a **Platforms** decision][adr-nygard-platforms-template]
+
+- [![TechRadar Quadrant: Techniques][badge-tech-radar-techniques]][tw-tr-techniques]
+
+ > **Techniques** include processes and methodologies concerned with managing and organizing software developers, as well as behaviors encouraged by design thinking.
-- Propose a [Language or Framework ![External link][icon-octicon-link-external]][tw-tr-languages-frameworks]
+ [Propose a **Techniques** decision][adr-nygard-techniques-template]
- - [MADR template][adr-madr-languages-frameworks]
- - [Nygard template][adr-nygard-languages-frameworks]
+- [![TechRadar Quadrant: Tools][badge-tech-radar-tools]][tw-tr-tools]
-- Propose a [Platform ![External link][icon-octicon-link-external]][tw-tr-platforms]
+ > **Tools** are computer programs that software engineers use to create, repair, maintain, and support other software. Tools may also refer to hardware that perform the same functions.
+ >
- - [MADR template][adr-madr-platforms]
- - [Nygard template][adr-nygard-platforms]
+ [Propose a **Tools** decision][adr-nygard-tools-template]
-- Propose a [Technique ![External link][icon-octicon-link-external]][tw-tr-techniques]
+## Contributing
- - [MADR template][adr-madr-techniques]
- - [Nygard template][adr-nygard-techniques]
+[![PRs Welcome][makeapullrequest-image] ![External link][icon-octicon-link-external]][makeapullrequest-url] We welcome contributions with GitHub **issues** and **pull requests**.
-- Propose a [Tool ![External link][icon-octicon-link-external]][tw-tr-tools]
+---
+
+[![Request a feature][issues-new-feat-image]][issues-new-feat-url]
+[![Report a defect][issues-new-defect-image]][issues-new-defect-url]
- - [MADR template][adr-madr-tools]
- - [Nygard template][adr-nygard-tools]
+[![Read the CONTRIBUTING guidelines][contributing-image]][contributing-url]
---
-
+Contributions in the form of GitHub pull requests are welcome. Before embarking on a significant change, please adhere to the following guidelines:
+
+1. **[Create an issue][issues-url]**—e.g., a [defect ("bug") report][issues-new-defect-url] or a [feature request][issues-new-feat-url]—to propose changes.
+
+ _Exceptions:_
+
+ > If you're working on documentation and fixing something simple like a typo or an easy bug, go ahead and make a pull request.
+
+1. **[Follow the CONTRIBUTING guidelines][contributing-url].**
+
+ _Why:_
+
+ > Standards and guidelines make communication easier. If you're willing and able to program—or want to learn how— following the guidelines will increase the likelihood of adding your changes to the software product.
+
+1. **[Read the Code of Conduct][code-of-conduct-url].**
+
+ _Why:_
+
+ > It's more fun when everybody's friendly and respectful.
+
+1. **[Make a pull request][pr-url]** when you're ready for other to review your changes (or you get stuck somewhere).
+
+ _PR novices:_
+
+ > **🙋 Never created a pull request?** No problem. [🆓 Take this free online training ![External link][icon-octicon-link-external]][makeapullrequest-url]. (It even covers most of the conventions in the [CONTRIBUTING guidelines][contributing-url]!)
+
+## License
+
+[MIT](./LICENSE) © [commonality](https://github.com/commonality).
+
+[](https://app.fossa.io/projects/git%2Bgithub.com%2Fcommonality%2Farchitecture-decision-records?ref=badge_large)
+
+
+
+[appveyor-image]: https://img.shields.io/appveyor/ci/commonality/architecture-decision-records.svg?style=flat-square&logo=appveyor&label=Windows%20build
+[appveyor-url]: https://ci.appveyor.com/project/commonality/architecture-decision-records
+[codacy-image]: https://img.shields.io/codacy/grade/b3ac6aaaa3cf41d0897959c1e5d732a3.svg?style=flat-square
+[codacy-url]: https://www.codacy.com/app/greg_7/architecture-decision-records?utm_source=github.com&utm_medium=referral&utm_content=commonality/architecture-decision-records&utm_campaign=Badge_Grade
+[coveralls-image]: https://coveralls.io/repos/commonality/architecture-decision-records/badge.svg?style=flat-square
+[coveralls-url]: https://coveralls.io/r/commonality/architecture-decision-records
+[daviddm-dev-image]: https://david-dm.org/commonality/architecture-decision-records/dev-status.svg?theme=shields.io&style=flat-square
+[daviddm-dev-url]: https://david-dm.org/commonality/architecture-decision-records?type=dev
+[daviddm-image]: https://david-dm.org/commonality/architecture-decision-records.svg?theme=shields.io&style=flat-square
+[daviddm-url]: https://david-dm.org/commonality/architecture-decision-records
+[fossa-image]: https://app.fossa.io/api/projects/git%2Bgithub.com%2Fcommonality%2Farchitecture-decision-records.svg?type=shield&style=flat-square
+[fossa-url]: https://app.fossa.io/projects/git%2Bgithub.com%2Fcommonality%2Farchitecture-decision-records?ref=badge_shield
+[license-image]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
+[license-url]: http://opensource.org/licenses/MIT
+[npm-image]: https://badge.fury.io/js/architecture-decision-records.svg?style=flat-square
+[npm-url]: https://npmjs.org/package/architecture-decision-records
+[npms-image]: https://badges.npms.io/architecture-decision-records.svg?style=flat-square
+[npms-url]: https://npms.io/search?q=architecture-decision-records
+[nsp-image]: https://nodesecurity.io/orgs/commonality/projects/b0a38d7a-29c1-4607-a724-e283b44f1618/badge
+[nsp-url]: https://nodesecurity.io/orgs/commonality/projects/b0a38d7a-29c1-4607-a724-e283b44f1618
+[travis-image]: https://img.shields.io/travis/commonality/architecture-decision-records.svg?branch=master&style=flat-square&label=MacOS%20%26%20Ubuntu%20builds&logo=travis
+[travis-url]: https://travis-ci.org/commonality/architecture-decision-records
+
+
+
+[code-of-conduct-url]: .github/CODE_OF_CONDUCT.md
+[contributing-image]: https://img.shields.io/badge/-CONTRIBUTING%20Guidelines-yellow.svg?style=for-the-badge&label=read+the
+[contributing-url]: .github/CONTRIBUTING.md
+[issues-new-defect-image]: https://img.shields.io/badge/-defect-lightgrey.svg?style=for-the-badge&label=report+a
+[issues-new-defect-url]: https://github.com/commonality/architecture-decision-records/issues/new?title=fix%28affected-scope%29%3A+50-character-defect-summary&labels=Priority%3A+Medium%2CStatus%3A+Review+Needed%2CType%3A+Defect&template=defect-report.md
+[issues-new-feat-image]: https://img.shields.io/badge/-feature-blue.svg?style=for-the-badge&label=request+a
+[issues-new-feat-url]: https://github.com/commonality/architecture-decision-records/issues/new?title=feat%28affected-scope%29%3A+50-character-change-proposal-summary&labels=Priority%3A+Medium%2CStatus%3A+Review+Needed%2CType%3A+Feature&template=feature-request.md
+[issues-url]: https://github.com/commonality/architecture-decision-records/issues
+[makeapullrequest-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square
+[makeapullrequest-url]: http://makeapullrequest.com
+[pr-url]: https://github.com/commonality/architecture-decision-records/pulls
+
+
+
+[icon-octicon-alert]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/alert.svg
+[icon-octicon-arrow-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-down.svg
+[icon-octicon-arrow-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-left.svg
+[icon-octicon-arrow-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-right.svg
+[icon-octicon-arrow-small-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-down.svg
+[icon-octicon-arrow-small-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-left.svg
+[icon-octicon-arrow-small-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-right.svg
+[icon-octicon-arrow-small-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-up.svg
+[icon-octicon-arrow-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-up.svg
+[icon-octicon-beaker]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/beaker.svg
+[icon-octicon-bell]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bell.svg
+[icon-octicon-bold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bold.svg
+[icon-octicon-book]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/book.svg
+[icon-octicon-bookmark]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bookmark.svg
+[icon-octicon-briefcase]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/briefcase.svg
+[icon-octicon-broadcast]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/broadcast.svg
+[icon-octicon-browser]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/browser.svg
+[icon-octicon-bug]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bug.svg
+[icon-octicon-calendar]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/calendar.svg
+[icon-octicon-check]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/check.svg
+[icon-octicon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/checklist.svg
+[icon-octicon-chevron-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-down.svg
+[icon-octicon-chevron-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-left.svg
+[icon-octicon-chevron-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-right.svg
+[icon-octicon-chevron-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-up.svg
+[icon-octicon-circle-slash]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/circle-slash.svg
+[icon-octicon-circuit-board]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/circuit-board.svg
+[icon-octicon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg
+[icon-octicon-clock]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clock.svg
+[icon-octicon-cloud-download]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/cloud-download.svg
+[icon-octicon-cloud-upload]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/cloud-upload.svg
+[icon-octicon-code]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/code.svg
+[icon-octicon-comment-discussion]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/comment-discussion.svg
+[icon-octicon-comment]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/comment.svg
+[icon-octicon-credit-card]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/credit-card.svg
+[icon-octicon-dash]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/dash.svg
+[icon-octicon-dashboard]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/dashboard.svg
+[icon-octicon-database]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/database.svg
+[icon-octicon-desktop-download]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/desktop-download.svg
+[icon-octicon-device-camera-video]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-camera-video.svg
+[icon-octicon-device-camera]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-camera.svg
+[icon-octicon-device-desktop]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-desktop.svg
+[icon-octicon-device-mobile]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-mobile.svg
+[icon-octicon-diff-added]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-added.svg
+[icon-octicon-diff-ignored]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-ignored.svg
+[icon-octicon-diff-modified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-modified.svg
+[icon-octicon-diff-removed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-removed.svg
+[icon-octicon-diff-renamed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-renamed.svg
+[icon-octicon-diff]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff.svg
+[icon-octicon-ellipses]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/ellipses.svg
+[icon-octicon-ellipsis]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/ellipsis.svg
+[icon-octicon-eye]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/eye.svg
+[icon-octicon-file-binary]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-binary.svg
+[icon-octicon-file-code]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-code.svg
+[icon-octicon-file-directory]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-directory.svg
+[icon-octicon-file-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-media.svg
+[icon-octicon-file-pdf]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-pdf.svg
+[icon-octicon-file-submodule]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-submodule.svg
+[icon-octicon-file-symlink-directory]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-symlink-directory.svg
+[icon-octicon-file-symlink-file]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-symlink-file.svg
+[icon-octicon-file-text]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-text.svg
+[icon-octicon-file-zip]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-zip.svg
+[icon-octicon-file]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file.svg
+[icon-octicon-flame]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/flame.svg
+[icon-octicon-fold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/fold.svg
+[icon-octicon-gear]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gear.svg
+[icon-octicon-gift]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gift.svg
+[icon-octicon-gist-secret]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gist-secret.svg
+[icon-octicon-gist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gist.svg
+[icon-octicon-git-branch]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-branch.svg
+[icon-octicon-git-commit]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-commit.svg
+[icon-octicon-git-compare]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-compare.svg
+[icon-octicon-git-merge]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-merge.svg
+[icon-octicon-git-pull-request]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-pull-request.svg
+[icon-octicon-globe]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/globe.svg
+[icon-octicon-grabber]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/grabber.svg
+[icon-octicon-graph]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/graph.svg
+[icon-octicon-heart]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/heart.svg
+[icon-octicon-history]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/history.svg
+[icon-octicon-home]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/home.svg
+[icon-octicon-horizontal-rule]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/horizontal-rule.svg
+[icon-octicon-hubot]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/hubot.svg
+[icon-octicon-inbox]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/inbox.svg
+[icon-octicon-info]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/info.svg
+[icon-octicon-issue-closed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/issue-closed.svg
+[icon-octicon-issue-opened]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/issue-opened.svg
+[icon-octicon-issue-reopened]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/issue-reopened.svg
+[icon-octicon-italic]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/italic.svg
+[icon-octicon-jersey]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/jersey.svg
+[icon-octicon-key]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/key.svg
+[icon-octicon-keyboard]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/keyboard.svg
+[icon-octicon-law]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/law.svg
+[icon-octicon-light-bulb]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/light-bulb.svg
+[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg
+[icon-octicon-link]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link.svg
+[icon-octicon-list-ordered]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/list-ordered.svg
+[icon-octicon-list-unordered]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/list-unordered.svg
+[icon-octicon-location]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/location.svg
+[icon-octicon-lock]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/lock.svg
+[icon-octicon-logo-gist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/logo-gist.svg
+[icon-octicon-logo-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/logo-github.svg
+[icon-octicon-mail-read]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mail-read.svg
+[icon-octicon-mail-reply]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mail-reply.svg
+[icon-octicon-mail]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mail.svg
+[icon-octicon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mark-github.svg
+[icon-octicon-markdown]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/markdown.svg
+[icon-octicon-megaphone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/megaphone.svg
+[icon-octicon-mention]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mention.svg
+[icon-octicon-milestone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/milestone.svg
+[icon-octicon-mirror]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mirror.svg
+[icon-octicon-mortar-board]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mortar-board.svg
+[icon-octicon-mute]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mute.svg
+[icon-octicon-no-newline]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/no-newline.svg
+[icon-octicon-octoface]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/octoface.svg
+[icon-octicon-organization]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/organization.svg
+[icon-octicon-package]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/package.svg
+[icon-octicon-paintcan]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/paintcan.svg
+[icon-octicon-pencil]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/pencil.svg
+[icon-octicon-person]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/person.svg
+[icon-octicon-pin]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/pin.svg
+[icon-octicon-plug]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/plug.svg
+[icon-octicon-plus-small]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/plus-small.svg
+[icon-octicon-plus]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/plus.svg
+[icon-octicon-primitive-dot]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/primitive-dot.svg
+[icon-octicon-primitive-square]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/primitive-square.svg
+[icon-octicon-pulse]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/pulse.svg
+[icon-octicon-question]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/question.svg
+[icon-octicon-quote]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/quote.svg
+[icon-octicon-radio-tower]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/radio-tower.svg
+[icon-octicon-reply]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/reply.svg
+[icon-octicon-repo-clone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-clone.svg
+[icon-octicon-repo-force-push]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-force-push.svg
+[icon-octicon-repo-forked]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-forked.svg
+[icon-octicon-repo-pull]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-pull.svg
+[icon-octicon-repo-push]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-push.svg
+[icon-octicon-repo]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo.svg
+[icon-octicon-rocket]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/rocket.svg
+[icon-octicon-rss]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/rss.svg
+[icon-octicon-ruby]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/ruby.svg
+[icon-octicon-search]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/search.svg
+[icon-octicon-server]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/server.svg
+[icon-octicon-settings]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/settings.svg
+[icon-octicon-shield]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/shield.svg
+[icon-octicon-sign-in]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/sign-in.svg
+[icon-octicon-sign-out]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/sign-out.svg
+[icon-octicon-smiley]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/smiley.svg
+[icon-octicon-squirrel]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/squirrel.svg
+[icon-octicon-star]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/star.svg
+[icon-octicon-stop]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/stop.svg
+[icon-octicon-sync]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/sync.svg
+[icon-octicon-tag]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/tag.svg
+[icon-octicon-tasklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/tasklist.svg
+[icon-octicon-telescope]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/telescope.svg
+[icon-octicon-terminal]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/terminal.svg
+[icon-octicon-text-size]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/text-size.svg
+[icon-octicon-three-bars]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/three-bars.svg
+[icon-octicon-thumbsdown]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/thumbsdown.svg
+[icon-octicon-thumbsup]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/thumbsup.svg
+[icon-octicon-tools]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/tools.svg
+[icon-octicon-trashcan]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/trashcan.svg
+[icon-octicon-triangle-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-down.svg
+[icon-octicon-triangle-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-left.svg
+[icon-octicon-triangle-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-right.svg
+[icon-octicon-triangle-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-up.svg
+[icon-octicon-unfold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/unfold.svg
+[icon-octicon-unmute]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/unmute.svg
+[icon-octicon-unverified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/unverified.svg
+[icon-octicon-verified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/verified.svg
+[icon-octicon-versions]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/versions.svg
+[icon-octicon-watch]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/watch.svg
+[icon-octicon-x]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/x.svg
+
+
+
[adr-madr-languages-frameworks]: https://github.com/commonality/architecture-decision-records/compare/adr-0001?expand=1&title=adr(languages-frameworks):%20add%20MADR%20template&template=adr_template_madr.md
[adr-madr-platforms]: https://github.com/commonality/architecture-decision-records/compare/adr-0001?expand=1&title=adr(platforms):%20add%20MADR%20template&template=adr_template_madr.md
[adr-madr-techniques]: https://github.com/commonality/architecture-decision-records/compare/adr-0001?expand=1&title=adr(techniques):%20add%20MADR%20template&template=adr_template_madr.md
@@ -40,15 +314,21 @@
[adr-nygard-platforms]: https://github.com/commonality/architecture-decision-records/compare/adr-0001?expand=1&title=adr(platforms):%20add%20MADR%20template&template=adr-nygard-template.md
[adr-nygard-techniques]: https://github.com/commonality/architecture-decision-records/compare/adr-0001?expand=1&title=adr(techniques):%20add%20MADR%20template&template=adr-nygard-template.md
[adr-nygard-tools]: https://github.com/commonality/architecture-decision-records/compare/adr-0001?expand=1&title=adr(tools):%20add%20MADR%20template&template=adr-nygard-template.md
+[badge-tech-radar-langs]: https://img.shields.io/badge/Tech--Radar-Languages%20%26%20Frameworks-b32059.svg?style=for-the-badge
+[badge-tech-radar-platforms]: https://img.shields.io/badge/Tech--Radar-Platforms-f38a3e.svg?style=for-the-badge
+[badge-tech-radar-techniques]: https://img.shields.io/badge/Tech--Radar-Techniques-1ebccd.svg?style=for-the-badge
+
+[badge-tech-radar-tools]: https://img.shields.io/badge/Tech--Radar-Tools-86b782.svg?longCache=true&style=for-the-badge
[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg
[icon-octicon-file-text]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-text.svg
[icon-octicon-info]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/info.svg
-[icon-octicon-repo]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/info.svg
+[icon-octicon-thumbsup]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/thumbsup.svg
[label-langs-frameworks-img]: https://fakeimg.pl/200x40/b32059/FFF/?text=Languages+%26+Frameworks&font_size=24
[label-tech-radar-langs-frameworks-img]: https://fakeimg.pl/200x80/b32059/FFF/?text=TechRadar:%0ALanguages+%26+Frameworks&font_size=24
+[menu-quad-languages-img]: docs/img/readme/menu_quadrant_languages.png
[label-tech-radar-langs-frameworks-adopt-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Adopt&font_size=18
[label-tech-radar-langs-frameworks-trial-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Trial&font_size=18
@@ -79,10 +359,17 @@
[label-tech-radar-tools-assess-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Assess&font_size=18
[label-tech-radar-tools-hold-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Hold&font_size=18
[icon-octicon-question]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/question.svg
-
-
[tw-tr-languages-frameworks]: https://thoughtworks.com/radar/languages-and-frameworks
[tw-tr-platforms]: https://thoughtworks.com/radar/platforms
[tw-tr-techniques]: https://thoughtworks.com/radar/techniques
[tw-tr-tools]: https://thoughtworks.com/radar/tools
[tw-tech-radar-faq-url]: https://www.thoughtworks.com/radar/a-z
+[img-logo-commonality]: ./docs/img/logo-commonalaxy.png
+
+[pr-lang-nygard]: https://github.com/commonality/architecture-decision-records/compare/adr-0001?quick_pull=1&title=adr(languages-frameworks):%20add%20MADR%20template&template=adr-nygard-template.md
+
+[adr-nygard-languages-template]: https://github.com/commonality/architecture-decision-records/new/master/docs/adr?filename=rename-me.md&value=%23+%5BADR-ID%5D.+%5BSummarized+title+of+decision%5D%0D%0A%0D%0ADate%3A+YYYY-MM-DD%0D%0A%0D%0A%23%23+Status%0D%0A%0D%0A%7C+ADR+Status++++%7C+Capability+-+Category++%7C+TechRadar+Quadrant+-+Ring++%7C%0D%0A%7C%3A-------------%3A%7C%3A----------------------%3A%7C%3A----------------%3A%7C%0D%0A%7C+%21%5BADR+Status%3A+Proposed%5D%5Blabel-adr-proposed-img%5D+%7C+%5BCapability+%21%5BExternal+link%5D%5Bicon-octicon-link-external%5D%5D%28.%29%3Chr%3E%5BCategory+%21%5BExternal+link%5D%5Bicon-octicon-link-external%5D%5D%28.%29+%7C+%5B%21%5BTechRadar%3A+Languages+and+Frameworks%5D%5Blabel-langs-frameworks-img%5D%5D%5Btw-tech-radar-langs-frameworks-url%5D%3Chr%3E%21%5BHold%5D%5Blabel-tech-radar-langs-frameworks-hold-img%5D+%7C%0D%0A%0D%0A%23%23+Context%0D%0A%0D%0A%3E+Describe+the+issue+that+is+motivating+this+decision+or+change.%0D%0A%0D%0A%23%23+Decision%0D%0A%0D%0A%3E+State+your+proposed+decision.%0D%0A%0D%0A%23%23+Consequences%0D%0A%0D%0A%3E+Objectively+list+how+this+change+will+make+work+easier+or+more+difficult.%0D%0A%0D%0A%3C%21--+ADR+Status+Images+--%3E%0D%0A%0D%0A%5Blabel-adr-proposed-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F0052cc%2FFFF%2F%3Ftext%3DProposed%26font_size%3D26%0D%0A%5Blabel-adr-accepted-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F0e8a16%2FFFF%2F%3Ftext%3DAccepted%26font_size%3D26%0D%0A%5Blabel-adr-rejected-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F666%2FFFF%2F%3Ftext%3DRejected%26font_size%3D26%0D%0A%5Blabel-adr-deprecated-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2Fb60205%2FFFF%2F%3Ftext%3DDeprecated%26font_size%3D26%0D%0A%5Blabel-adr-superseded-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2Fe99695%2F000%2F%3Ftext%3DSuperseded%26font_size%3D26%0D%0A%0D%0A%3C%21--+Icons+--%3E%0D%0A%0D%0A%5Bfake-images-pl-github-url%5D%3A+https%3A%2F%2Fgithub.com%2FRydgel%2FFake-images-please+%22View+the+source+code+on+GitHub.%22%0D%0A%5Bicon-checklist%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fchecklist.svg%0D%0A%5Bicon-clippy%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fclippy.svg%0D%0A%5Bicon-octicon-link-external%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Flink-external.svg%0D%0A%5Bicon-mark-github%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fmark-github.svg%0D%0A%5Bicon-md%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fmarkdown.svg%0D%0A%5Bicon-media%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Ffile-media.svg%0D%0A%0D%0A%3C%21--+TechRadar+Quadrants+--%3E%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Languages+and+Frameworks+--%3E%0D%0A%0D%0A%5Blabel-langs-frameworks-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2Fb32059%2FFFF%2F%3Ftext%3DLanguages%2B%2526%2BFrameworks%26font_size%3D24%0D%0A%5Blabel-tech-radar-langs-frameworks-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2Fb32059%2FFFF%2F%3Ftext%3DTechRadar%3A%250ALanguages%2B%2526%2BFrameworks%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Languages+and+Frameworks+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-langs-frameworks-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Platforms+--%3E%0D%0A%0D%0A%5Blabel-platforms-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2Ff38a3e%2FFFF%2F%3Ftext%3DPlatforms%26font_size%3D24%0D%0A%5Blabel-tech-radar-platforms-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2Ff38a3e%2FFFF%2F%3Ftext%3DTechRadar%3A%2BPlatforms%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Platforms+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-platforms-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Techniques+--%3E%0D%0A%0D%0A%5Blabel-techniques-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2F1ebccd%2FFFF%2F%3Ftext%3DTechniques%26font_size%3D24%0D%0A%5Blabel-tech-radar-techniques-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2F1ebccd%2FFFF%2F%3Ftext%3DTechRadar%3A%2BTechniques%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Techniques+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-techniques-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Tools+--%3E%0D%0A%0D%0A%5Blabel-tools-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2F86b782%2FFFF%2F%3Ftext%3DTools%26font_size%3D24%0D%0A%5Blabel-tech-radar-tools-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2F86b782%2FFFF%2F%3Ftext%3DTechRadar%3A%2BTools%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Tools+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-tools-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+Web+pages%3A+external+--%3E%0D%0A%0D%0A%5Bnygard-article-url%5D%3A+http%3A%2F%2Fthinkrelevance.com%2Fblog%2F2011%2F11%2F15%2Fdocumenting-architecture-decisions%0D%0A%5Btw-tech-radar-adrs%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%2Flightweight-architecture-decision-records%0D%0A%5Btw-tech-radar-evolutionary-architecture%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%2Fevolutionary-architecture%0D%0A%5Btw-tech-radar-faq-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Fa-z%0D%0A%5Btw-tech-radar-langs-frameworks-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Flanguages-and-frameworks%0D%0A%5Btw-tech-radar-platforms-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Fplatforms%0D%0A%5Btw-tech-radar-techniques-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%0D%0A%5Btw-tech-radar-tools-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftools
+[adr-nygard-platforms-template]: https://github.com/commonality/architecture-decision-records/new/master/docs/adr?filename=rename-me.md&value=%23+%5BADR-ID%5D.+%5BSummarized+title+of+decision%5D%0D%0A%0D%0ADate%3A+YYYY-MM-DD%0D%0A%0D%0A%23%23+Status%0D%0A%0D%0A%7C+ADR+Status++++%7C+Capability+-+Category++%7C+TechRadar+Quadrant+-+Ring++%7C%0D%0A%7C%3A-------------%3A%7C%3A----------------------%3A%7C%3A----------------%3A%7C%0D%0A%7C+%21%5BADR+Status%3A+Proposed%5D%5Blabel-adr-proposed-img%5D+%7C+%5BCapability+%21%5BExternal+link%5D%5Bicon-octicon-link-external%5D%5D%28.%29%3Chr%3E%5BCategory+%21%5BExternal+link%5D%5Bicon-octicon-link-external%5D%5D%28.%29+%7C+%5B%21%5BTechRadar%3A+Platforms%5D%5Blabel-platforms-img%5D%5D%5Btw-tech-radar-platforms-url%5D%3Chr%3E%21%5BHold%5D%5Blabel-tech-radar-platforms-hold-img%5D+%7C%0D%0A%0D%0A%23%23+Context%0D%0A%0D%0A%3E+Describe+the+issue+that+is+motivating+this+decision+or+change.%0D%0A%0D%0A%23%23+Decision%0D%0A%0D%0A%3E+State+your+proposed+decision.%0D%0A%0D%0A%23%23+Consequences%0D%0A%0D%0A%3E+Objectively+list+how+this+change+will+make+work+easier+or+more+difficult.%0D%0A%0D%0A%3C%21--+ADR+Status+Images+--%3E%0D%0A%0D%0A%5Blabel-adr-proposed-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F0052cc%2FFFF%2F%3Ftext%3DProposed%26font_size%3D26%0D%0A%5Blabel-adr-accepted-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F0e8a16%2FFFF%2F%3Ftext%3DAccepted%26font_size%3D26%0D%0A%5Blabel-adr-rejected-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F666%2FFFF%2F%3Ftext%3DRejected%26font_size%3D26%0D%0A%5Blabel-adr-deprecated-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2Fb60205%2FFFF%2F%3Ftext%3DDeprecated%26font_size%3D26%0D%0A%5Blabel-adr-superseded-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2Fe99695%2F000%2F%3Ftext%3DSuperseded%26font_size%3D26%0D%0A%0D%0A%3C%21--+Icons+--%3E%0D%0A%0D%0A%5Bfake-images-pl-github-url%5D%3A+https%3A%2F%2Fgithub.com%2FRydgel%2FFake-images-please+%22View+the+source+code+on+GitHub.%22%0D%0A%5Bicon-checklist%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fchecklist.svg%0D%0A%5Bicon-clippy%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fclippy.svg%0D%0A%5Bicon-octicon-link-external%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Flink-external.svg%0D%0A%5Bicon-mark-github%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fmark-github.svg%0D%0A%5Bicon-md%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fmarkdown.svg%0D%0A%5Bicon-media%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Ffile-media.svg%0D%0A%0D%0A%3C%21--+TechRadar+Quadrants+--%3E%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Languages+and+Frameworks+--%3E%0D%0A%0D%0A%5Blabel-langs-frameworks-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2Fb32059%2FFFF%2F%3Ftext%3DLanguages%2B%2526%2BFrameworks%26font_size%3D24%0D%0A%5Blabel-tech-radar-langs-frameworks-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2Fb32059%2FFFF%2F%3Ftext%3DTechRadar%3A%250ALanguages%2B%2526%2BFrameworks%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Languages+and+Frameworks+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-langs-frameworks-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Platforms+--%3E%0D%0A%0D%0A%5Blabel-platforms-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2Ff38a3e%2FFFF%2F%3Ftext%3DPlatforms%26font_size%3D24%0D%0A%5Blabel-tech-radar-platforms-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2Ff38a3e%2FFFF%2F%3Ftext%3DTechRadar%3A%2BPlatforms%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Platforms+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-platforms-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Techniques+--%3E%0D%0A%0D%0A%5Blabel-techniques-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2F1ebccd%2FFFF%2F%3Ftext%3DTechniques%26font_size%3D24%0D%0A%5Blabel-tech-radar-techniques-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2F1ebccd%2FFFF%2F%3Ftext%3DTechRadar%3A%2BTechniques%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Techniques+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-techniques-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Tools+--%3E%0D%0A%0D%0A%5Blabel-tools-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2F86b782%2FFFF%2F%3Ftext%3DTools%26font_size%3D24%0D%0A%5Blabel-tech-radar-tools-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2F86b782%2FFFF%2F%3Ftext%3DTechRadar%3A%2BTools%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Tools+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-tools-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+Web+pages%3A+external+--%3E%0D%0A%0D%0A%5Bnygard-article-url%5D%3A+http%3A%2F%2Fthinkrelevance.com%2Fblog%2F2011%2F11%2F15%2Fdocumenting-architecture-decisions%0D%0A%5Btw-tech-radar-adrs%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%2Flightweight-architecture-decision-records%0D%0A%5Btw-tech-radar-evolutionary-architecture%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%2Fevolutionary-architecture%0D%0A%5Btw-tech-radar-faq-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Fa-z%0D%0A%5Btw-tech-radar-langs-frameworks-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Flanguages-and-frameworks%0D%0A%5Btw-tech-radar-platforms-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Fplatforms%0D%0A%5Btw-tech-radar-techniques-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%0D%0A%5Btw-tech-radar-tools-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftools
+[adr-nygard-techniques-template]: https://github.com/commonality/architecture-decision-records/new/master/docs/adr?filename=rename-me.md&value=%23+%5BADR-ID%5D.+%5BSummarized+title+of+decision%5D%0D%0A%0D%0ADate%3A+YYYY-MM-DD%0D%0A%0D%0A%23%23+Status%0D%0A%0D%0A%7C+ADR+Status++++%7C+Capability+-+Category++%7C+TechRadar+Quadrant+-+Ring++%7C%0D%0A%7C%3A-------------%3A%7C%3A----------------------%3A%7C%3A----------------%3A%7C%0D%0A%7C+%21%5BADR+Status%3A+Proposed%5D%5Blabel-adr-proposed-img%5D+%7C+%5BCapability+%21%5BExternal+link%5D%5Bicon-octicon-link-external%5D%5D%28.%29%3Chr%3E%5BCategory+%21%5BExternal+link%5D%5Bicon-octicon-link-external%5D%5D%28.%29+%7C+%5B%21%5BTechRadar%3A+Techniques%5D%5Blabel-techniques-img%5D%5D%5Btw-tech-radar-techniques-url%5D%3Chr%3E%21%5BHold%5D%5Blabel-tech-radar-techniques-hold-img%5D+%7C%0D%0A%0D%0A%23%23+Context%0D%0A%0D%0A%3E+Describe+the+issue+that+is+motivating+this+decision+or+change.%0D%0A%0D%0A%23%23+Decision%0D%0A%0D%0A%3E+State+your+proposed+decision.%0D%0A%0D%0A%23%23+Consequences%0D%0A%0D%0A%3E+Objectively+list+how+this+change+will+make+work+easier+or+more+difficult.%0D%0A%0D%0A%3C%21--+ADR+Status+Images+--%3E%0D%0A%0D%0A%5Blabel-adr-proposed-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F0052cc%2FFFF%2F%3Ftext%3DProposed%26font_size%3D26%0D%0A%5Blabel-adr-accepted-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F0e8a16%2FFFF%2F%3Ftext%3DAccepted%26font_size%3D26%0D%0A%5Blabel-adr-rejected-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F666%2FFFF%2F%3Ftext%3DRejected%26font_size%3D26%0D%0A%5Blabel-adr-deprecated-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2Fb60205%2FFFF%2F%3Ftext%3DDeprecated%26font_size%3D26%0D%0A%5Blabel-adr-superseded-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2Fe99695%2F000%2F%3Ftext%3DSuperseded%26font_size%3D26%0D%0A%0D%0A%3C%21--+Icons+--%3E%0D%0A%0D%0A%5Bfake-images-pl-github-url%5D%3A+https%3A%2F%2Fgithub.com%2FRydgel%2FFake-images-please+%22View+the+source+code+on+GitHub.%22%0D%0A%5Bicon-checklist%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fchecklist.svg%0D%0A%5Bicon-clippy%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fclippy.svg%0D%0A%5Bicon-octicon-link-external%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Flink-external.svg%0D%0A%5Bicon-mark-github%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fmark-github.svg%0D%0A%5Bicon-md%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fmarkdown.svg%0D%0A%5Bicon-media%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Ffile-media.svg%0D%0A%0D%0A%3C%21--+TechRadar+Quadrants+--%3E%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Languages+and+Frameworks+--%3E%0D%0A%0D%0A%5Blabel-langs-frameworks-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2Fb32059%2FFFF%2F%3Ftext%3DLanguages%2B%2526%2BFrameworks%26font_size%3D24%0D%0A%5Blabel-tech-radar-langs-frameworks-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2Fb32059%2FFFF%2F%3Ftext%3DTechRadar%3A%250ALanguages%2B%2526%2BFrameworks%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Languages+and+Frameworks+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-langs-frameworks-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Platforms+--%3E%0D%0A%0D%0A%5Blabel-platforms-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2Ff38a3e%2FFFF%2F%3Ftext%3DPlatforms%26font_size%3D24%0D%0A%5Blabel-tech-radar-platforms-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2Ff38a3e%2FFFF%2F%3Ftext%3DTechRadar%3A%2BPlatforms%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Platforms+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-platforms-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Techniques+--%3E%0D%0A%0D%0A%5Blabel-techniques-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2F1ebccd%2FFFF%2F%3Ftext%3DTechniques%26font_size%3D24%0D%0A%5Blabel-tech-radar-techniques-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2F1ebccd%2FFFF%2F%3Ftext%3DTechRadar%3A%2BTechniques%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Techniques+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-techniques-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Tools+--%3E%0D%0A%0D%0A%5Blabel-tools-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2F86b782%2FFFF%2F%3Ftext%3DTools%26font_size%3D24%0D%0A%5Blabel-tech-radar-tools-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2F86b782%2FFFF%2F%3Ftext%3DTechRadar%3A%2BTools%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Tools+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-tools-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+Web+pages%3A+external+--%3E%0D%0A%0D%0A%5Bnygard-article-url%5D%3A+http%3A%2F%2Fthinkrelevance.com%2Fblog%2F2011%2F11%2F15%2Fdocumenting-architecture-decisions%0D%0A%5Btw-tech-radar-adrs%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%2Flightweight-architecture-decision-records%0D%0A%5Btw-tech-radar-evolutionary-architecture%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%2Fevolutionary-architecture%0D%0A%5Btw-tech-radar-faq-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Fa-z%0D%0A%5Btw-tech-radar-langs-frameworks-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Flanguages-and-frameworks%0D%0A%5Btw-tech-radar-langs-platforms-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Fplatforms%0D%0A%5Btw-tech-radar-techniques-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%0D%0A%5Btw-tech-radar-tools-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftools
+[adr-nygard-tools-template]: https://github.com/commonality/architecture-decision-records/new/master/docs/adr?filename=rename-me.md&value=%23+%5BADR-ID%5D.+%5BSummarized+title+of+decision%5D%0D%0A%0D%0ADate%3A+YYYY-MM-DD%0D%0A%0D%0A%23%23+Status%0D%0A%0D%0A%7C+ADR+Status++++%7C+Capability+-+Category++%7C+TechRadar+Quadrant+-+Ring++%7C%0D%0A%7C%3A-------------%3A%7C%3A----------------------%3A%7C%3A----------------%3A%7C%0D%0A%7C+%21%5BADR+Status%3A+Proposed%5D%5Blabel-adr-proposed-img%5D+%7C+%5BCapability+%21%5BExternal+link%5D%5Bicon-octicon-link-external%5D%5D%28.%29%3Chr%3E%5BCategory+%21%5BExternal+link%5D%5Bicon-octicon-link-external%5D%5D%28.%29+%7C+%5B%21%5BTechRadar%3A+Tools%5D%5Blabel-tools-img%5D%5D%5Btw-tech-radar-techniques-url%5D%3Chr%3E%21%5BHold%5D%5Blabel-tech-radar-tools-hold-img%5D+%7C%0D%0A%0D%0A%23%23+Context%0D%0A%0D%0A%3E+Describe+the+issue+that+is+motivating+this+decision+or+change.%0D%0A%0D%0A%23%23+Decision%0D%0A%0D%0A%3E+State+your+proposed+decision.%0D%0A%0D%0A%23%23+Consequences%0D%0A%0D%0A%3E+Objectively+list+how+this+change+will+make+work+easier+or+more+difficult.%0D%0A%0D%0A%3C%21--+ADR+Status+Images+--%3E%0D%0A%0D%0A%5Blabel-adr-proposed-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F0052cc%2FFFF%2F%3Ftext%3DProposed%26font_size%3D26%0D%0A%5Blabel-adr-accepted-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F0e8a16%2FFFF%2F%3Ftext%3DAccepted%26font_size%3D26%0D%0A%5Blabel-adr-rejected-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2F666%2FFFF%2F%3Ftext%3DRejected%26font_size%3D26%0D%0A%5Blabel-adr-deprecated-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2Fb60205%2FFFF%2F%3Ftext%3DDeprecated%26font_size%3D26%0D%0A%5Blabel-adr-superseded-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F160x40%2Fe99695%2F000%2F%3Ftext%3DSuperseded%26font_size%3D26%0D%0A%0D%0A%3C%21--+Icons+--%3E%0D%0A%0D%0A%5Bfake-images-pl-github-url%5D%3A+https%3A%2F%2Fgithub.com%2FRydgel%2FFake-images-please+%22View+the+source+code+on+GitHub.%22%0D%0A%5Bicon-checklist%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fchecklist.svg%0D%0A%5Bicon-clippy%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fclippy.svg%0D%0A%5Bicon-octicon-link-external%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Flink-external.svg%0D%0A%5Bicon-mark-github%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fmark-github.svg%0D%0A%5Bicon-md%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Fmarkdown.svg%0D%0A%5Bicon-media%5D%3A+https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Focticons%2F4.4.0%2Fsvg%2Ffile-media.svg%0D%0A%0D%0A%3C%21--+TechRadar+Quadrants+--%3E%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Languages+and+Frameworks+--%3E%0D%0A%0D%0A%5Blabel-langs-frameworks-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2Fb32059%2FFFF%2F%3Ftext%3DLanguages%2B%2526%2BFrameworks%26font_size%3D24%0D%0A%5Blabel-tech-radar-langs-frameworks-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2Fb32059%2FFFF%2F%3Ftext%3DTechRadar%3A%250ALanguages%2B%2526%2BFrameworks%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Languages+and+Frameworks+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-langs-frameworks-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-langs-frameworks-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Fb32059%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Platforms+--%3E%0D%0A%0D%0A%5Blabel-platforms-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2Ff38a3e%2FFFF%2F%3Ftext%3DPlatforms%26font_size%3D24%0D%0A%5Blabel-tech-radar-platforms-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2Ff38a3e%2FFFF%2F%3Ftext%3DTechRadar%3A%2BPlatforms%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Platforms+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-platforms-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-platforms-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2Ff38a3e%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Techniques+--%3E%0D%0A%0D%0A%5Blabel-techniques-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2F1ebccd%2FFFF%2F%3Ftext%3DTechniques%26font_size%3D24%0D%0A%5Blabel-tech-radar-techniques-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2F1ebccd%2FFFF%2F%3Ftext%3DTechRadar%3A%2BTechniques%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Techniques+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-techniques-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-techniques-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F1ebccd%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+QUADRANT%3A+Tools+--%3E%0D%0A%0D%0A%5Blabel-tools-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x40%2F86b782%2FFFF%2F%3Ftext%3DTools%26font_size%3D24%0D%0A%5Blabel-tech-radar-tools-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F200x80%2F86b782%2FFFF%2F%3Ftext%3DTechRadar%3A%2BTools%26font_size%3D24%0D%0A%0D%0A%3C%21--+RINGS%3A+Tools+--%3E%0D%0A%0D%0A%5Blabel-tech-radar-tools-adopt-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DAdopt%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-trial-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DTrial%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-assess-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DAssess%26font_size%3D18%0D%0A%5Blabel-tech-radar-tools-hold-img%5D%3A+https%3A%2F%2Ffakeimg.pl%2F80x40%2F86b782%2FFFF%2F%3Ftext%3DHold%26font_size%3D18%0D%0A%0D%0A%3C%21--+Web+pages%3A+external+--%3E%0D%0A%0D%0A%5Bnygard-article-url%5D%3A+http%3A%2F%2Fthinkrelevance.com%2Fblog%2F2011%2F11%2F15%2Fdocumenting-architecture-decisions%0D%0A%5Btw-tech-radar-adrs%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%2Flightweight-architecture-decision-records%0D%0A%5Btw-tech-radar-evolutionary-architecture%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%2Fevolutionary-architecture%0D%0A%5Btw-tech-radar-faq-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Fa-z%0D%0A%5Btw-tech-radar-langs-frameworks-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Flanguages-and-frameworks%0D%0A%5Btw-tech-radar-langs-platforms-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Fplatforms%0D%0A%5Btw-tech-radar-techniques-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftechniques%0D%0A%5Btw-tech-radar-tools-url%5D%3A+https%3A%2F%2Fwww.thoughtworks.com%2Fradar%2Ftools
+
diff --git a/adr.json b/adr.json
new file mode 100644
index 0000000..36eebb9
--- /dev/null
+++ b/adr.json
@@ -0,0 +1,5 @@
+ {
+ "path":"docs/",
+ "language":"en",
+ "digits": 4
+}
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..af12c35
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,47 @@
+# install:
+# - ps: Install-Product node '7'
+# - npm install -g npm --silent --quiet
+# - npm install --silent --quiet
+#
+# build: off
+#
+# test_script:
+# - node --version
+# - npm --version
+# - git --version
+# # Run tests sequentially to avoid io async issues
+# - .\node_modules\.bin\nyc .\node_modules\.bin\mocha '%APPVEYOR_BUILD_FOLDER%\tests\lib\crc\*.spec.js'
+# - .\node_modules\.bin\nyc .\node_modules\.bin\mocha '%APPVEYOR_BUILD_FOLDER%\tests\lib\crc\descriptors\*.spec.js'
+#
+# branches:
+# only:
+# - master
+
+environment:
+ matrix:
+ - nodejs_version: '9'
+ - nodejs_version: '8'
+ - nodejs_version: '7.6.0'
+
+platform:
+ - x86
+ - x64
+
+install:
+ - ps: Install-Product node $env:nodejs_version
+ - npm i npm@latest -g
+ - npm install
+
+matrix:
+ fast_finish: true
+
+build: off
+
+shallow_clone: true
+
+clone_depth: 1
+
+test_script:
+ - node --version
+ - npm --version
+ - npm test
diff --git a/docs/0001-record-architecture-decisions.md b/docs/0001-record-architecture-decisions.md
new file mode 100644
index 0000000..68f38aa
--- /dev/null
+++ b/docs/0001-record-architecture-decisions.md
@@ -0,0 +1,313 @@
+# 1. Record architecture decisions
+
+![Date][octicon-calendar] 2018-03-17
+
+## Status
+
+| ADR Status | Capability - Category | TechRadar: Ring |
+|:-------------:|:----------------------:|:----------------:|
+| [![ADR Status: Accepted][label-adr-accepted-img]](./#readme) | [Evolutionary Architecture ![External link][icon-octicon-link-external]][tw-tech-radar-evolutionary-architecture] [Architecture Decision Records ![External link][icon-octicon-link-external]][tw-tech-radar-adrs] | [![TechRadar: Techniques][label-techniques-img] ![External link][icon-octicon-link-external]][tw-tech-radar-techniques-url] [![Adopt][label-tech-radar-techniques-adopt-img]](./#readme) |
+
+## Context
+
+`commonality` has several very explicit goals that make the practice and discipline of architecture very important:
+
+- We want to think deeply about all our architectural decisions, exploring all alternatives and making a careful, considered,
+ well-researched choice.
+
+- We want to be as transparent as possible in our decision-making process.
+
+- We don't want decisions to be made unilaterally in a vacuum. Specifically, we want to give our steering group the
+ opportunity to review every major decision.
+
+- Despite being a geographically and temporally distributed team, we want our contributors to have a strong shared
+ understanding of the technical rationale behind decisions.
+
+- We want to be able to revisit prior decisions to determine fairly if they still make sense, and if the motivating
+ circumstances or conditions have changed.
+
+## Decision
+
+We will document every architecture-level decision for `commonality` and its core modules with an
+[Architecture Decision Record ![External link][icon-octicon-link-external]][nygard-article-url]. These are a well structured,
+relatively lightweight way to capture architectural proposals. They can serve as an artifact for discussion, and remain as an
+enduring record of the context and motivation of past decisions.
+
+The workflow will be:
+
+1. A community member creates an ADR document outlining an approach for a particular question or problem. The ADR has an
+ initial status of "Proposed."
+
+1. The developers and steering group discuss the ADR. During this period, the ADR should be updated to reflect additional
+ context, concerns raised, and proposed changes.
+
+1. Once consensus is reached, ADR can be transitioned to either an "accepted" or "rejected" state.
+
+1. Only after an ADR is accepted should implementing code be committed to the master branch of the relevant project/module.
+
+1. If a decision is revisited and a different conclusion is reached, a new ADR should be created documenting the context and
+ rationale for the change. The new ADR should reference the old one, and once the new one is accepted, the old one should
+ (in its "status" section) be updated to point to the new one. The old ADR should not be removed or otherwise modified
+ except for the annotation pointing to the new ADR.
+
+## Consequences
+
+1. Developers must write an ADR and submit it for review before selecting an approach to any architectural decision, that is,
+ any decision that affects the way `commonality` or any of `commonality's` applications are put together at a high level.
+
+1. We will have a concrete artifact around which to focus discussion, before finalizing decisions.
+
+1. If we follow the process, decisions will be made deliberately, as a group.
+
+1. The master branch of our repositories will reflect the high-level consensus of the steering group.
+
+1. We will have a useful persistent record of why the system is the way it is.
+
+
+
+[label-adr-proposed-img]: https://fakeimg.pl/160x40/0052cc/FFF/?text=Proposed&font_size=26
+[label-adr-accepted-img]: https://fakeimg.pl/160x40/0e8a16/FFF/?text=Accepted&font_size=26
+[label-adr-rejected-img]: https://fakeimg.pl/160x40/666/FFF/?text=Rejected&font_size=26
+[label-adr-deprecated-img]: https://fakeimg.pl/160x40/b60205/FFF/?text=Deprecated&font_size=26
+[label-adr-superseded-img]: https://fakeimg.pl/160x40/e99695/000/?text=Superseded&font_size=26
+
+
+
+[fake-images-pl-github-url]: https://github.com/Rydgel/Fake-images-please "View the source code on GitHub."
+[icon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/checklist.svg
+[icon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg
+[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg
+[icon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mark-github.svg
+[icon-md]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/markdown.svg
+[icon-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-media.svg
+
+
+
+
+
+[label-langs-frameworks-img]: https://fakeimg.pl/200x40/b32059/FFF/?text=Languages+%26+Frameworks&font_size=24
+[label-tech-radar-langs-frameworks-img]: https://fakeimg.pl/200x80/b32059/FFF/?text=TechRadar:%0ALanguages+%26+Frameworks&font_size=24
+
+
+
+[label-tech-radar-langs-frameworks-adopt-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Adopt&font_size=18
+[label-tech-radar-langs-frameworks-trial-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Trial&font_size=18
+[label-tech-radar-langs-frameworks-assess-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Assess&font_size=18
+[label-tech-radar-langs-frameworks-hold-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Hold&font_size=18
+
+
+
+[label-platforms-img]: https://fakeimg.pl/200x40/f38a3e/FFF/?text=Platforms&font_size=24
+[label-tech-radar-platforms-img]: https://fakeimg.pl/200x80/f38a3e/FFF/?text=TechRadar:+Platforms&font_size=24
+
+
+
+[label-tech-radar-platforms-adopt-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Adopt&font_size=18
+[label-tech-radar-platforms-trial-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Trial&font_size=18
+[label-tech-radar-platforms-assess-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Assess&font_size=18
+[label-tech-radar-platforms-hold-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Hold&font_size=18
+
+
+
+[label-techniques-img]: https://fakeimg.pl/200x40/1ebccd/FFF/?text=Techniques&font_size=24
+[label-tech-radar-techniques-img]: https://fakeimg.pl/200x80/1ebccd/FFF/?text=TechRadar:+Techniques&font_size=24
+
+[label-tech-radar-techniques-adopt-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Adopt&font_size=18
+[label-tech-radar-techniques-trial-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Trial&font_size=18
+[label-tech-radar-techniques-assess-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Assess&font_size=18
+[label-tech-radar-techniques-hold-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Hold&font_size=18
+
+
+
+[label-tools-img]: https://fakeimg.pl/200x40/86b782/FFF/?text=Tools&font_size=24
+[label-tech-radar-tools-img]: https://fakeimg.pl/200x80/86b782/FFF/?text=TechRadar:+Tools&font_size=24
+
+
+
+[label-tech-radar-tools-adopt-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Adopt&font_size=18
+[label-tech-radar-tools-trial-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Trial&font_size=18
+[label-tech-radar-tools-assess-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Assess&font_size=18
+[label-tech-radar-tools-hold-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Hold&font_size=18
+
+
+
+[tw-tech-radar-evolutionary-architecture]: https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
+[tw-tech-radar-adrs]: https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records
+[tw-tech-radar-faq-url]: https://www.thoughtworks.com/radar/a-z
+[tw-tech-radar-techniques-url]: https://www.thoughtworks.com/radar/techniques
+[tw-tech-radar-tools-url]: https://www.thoughtworks.com/radar/tools
+[nygard-article-url]: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
+
+
+
+[octicon-alert]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/alert.svg
+[octicon-arrow-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/arrow-down.svg
+[octicon-arrow-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/arrow-left.svg
+[octicon-arrow-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/arrow-right.svg
+[octicon-arrow-small-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/arrow-small-down.svg
+[octicon-arrow-small-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/arrow-small-left.svg
+[octicon-arrow-small-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/arrow-small-right.svg
+[octicon-arrow-small-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/arrow-small-up.svg
+[octicon-arrow-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/arrow-up.svg
+[octicon-beaker]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/beaker.svg
+[octicon-bell]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/bell.svg
+[octicon-bold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/bold.svg
+[octicon-book]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/book.svg
+[octicon-bookmark]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/bookmark.svg
+[octicon-briefcase]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/briefcase.svg
+[octicon-broadcast]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/broadcast.svg
+[octicon-browser]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/browser.svg
+[octicon-bug]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/bug.svg
+[octicon-calendar]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/calendar.svg
+[octicon-check]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/check.svg
+[octicon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/checklist.svg
+[octicon-chevron-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/chevron-down.svg
+[octicon-chevron-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/chevron-left.svg
+[octicon-chevron-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/chevron-right.svg
+[octicon-chevron-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/chevron-up.svg
+[octicon-circle-slash]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/circle-slash.svg
+[octicon-circuit-board]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/circuit-board.svg
+[octicon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/clippy.svg
+[octicon-clock]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/clock.svg
+[octicon-cloud-download]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/cloud-download.svg
+[octicon-cloud-upload]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/cloud-upload.svg
+[octicon-code]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/code.svg
+[octicon-comment-discussion]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/comment-discussion.svg
+[octicon-comment]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/comment.svg
+[octicon-credit-card]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/credit-card.svg
+[octicon-dash]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/dash.svg
+[octicon-dashboard]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/dashboard.svg
+[octicon-database]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/database.svg
+[octicon-desktop-download]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/desktop-download.svg
+[octicon-device-camera-video]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/device-camera-video.svg
+[octicon-device-camera]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/device-camera.svg
+[octicon-device-desktop]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/device-desktop.svg
+[octicon-device-mobile]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/device-mobile.svg
+[octicon-diff-added]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/diff-added.svg
+[octicon-diff-ignored]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/diff-ignored.svg
+[octicon-diff-modified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/diff-modified.svg
+[octicon-diff-removed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/diff-removed.svg
+[octicon-diff-renamed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/diff-renamed.svg
+[octicon-diff]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/diff.svg
+[octicon-ellipses]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/ellipses.svg
+[octicon-ellipsis]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/ellipsis.svg
+[octicon-eye]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/eye.svg
+[octicon-file-binary]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-binary.svg
+[octicon-file-code]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-code.svg
+[octicon-file-directory]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-directory.svg
+[octicon-file-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-media.svg
+[octicon-file-pdf]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-pdf.svg
+[octicon-file-submodule]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-submodule.svg
+[octicon-file-symlink-directory]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-symlink-directory.svg
+[octicon-file-symlink-file]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-symlink-file.svg
+[octicon-file-text]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-text.svg
+[octicon-file-zip]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file-zip.svg
+[octicon-file]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/file.svg
+[octicon-flame]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/flame.svg
+[octicon-fold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/fold.svg
+[octicon-gear]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/gear.svg
+[octicon-gift]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/gift.svg
+[octicon-gist-secret]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/gist-secret.svg
+[octicon-gist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/gist.svg
+[octicon-git-branch]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/git-branch.svg
+[octicon-git-commit]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/git-commit.svg
+[octicon-git-compare]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/git-compare.svg
+[octicon-git-merge]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/git-merge.svg
+[octicon-git-pull-request]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/git-pull-request.svg
+[octicon-globe]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/globe.svg
+[octicon-grabber]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/grabber.svg
+[octicon-graph]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/graph.svg
+[octicon-heart]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/heart.svg
+[octicon-history]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/history.svg
+[octicon-home]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/home.svg
+[octicon-horizontal-rule]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/horizontal-rule.svg
+[octicon-hubot]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/hubot.svg
+[octicon-inbox]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/inbox.svg
+[octicon-info]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/info.svg
+[octicon-issue-closed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/issue-closed.svg
+[octicon-issue-opened]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/issue-opened.svg
+[octicon-issue-reopened]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/issue-reopened.svg
+[octicon-italic]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/italic.svg
+[octicon-jersey]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/jersey.svg
+[octicon-key]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/key.svg
+[octicon-keyboard]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/keyboard.svg
+[octicon-law]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/law.svg
+[octicon-light-bulb]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/light-bulb.svg
+[octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/link-external.svg
+[octicon-link]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/link.svg
+[octicon-list-ordered]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/list-ordered.svg
+[octicon-list-unordered]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/list-unordered.svg
+[octicon-location]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/location.svg
+[octicon-lock]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/lock.svg
+[octicon-logo-gist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/logo-gist.svg
+[octicon-logo-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/logo-github.svg
+[octicon-mail-read]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/mail-read.svg
+[octicon-mail-reply]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/mail-reply.svg
+[octicon-mail]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/mail.svg
+[octicon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/mark-github.svg
+[octicon-markdown]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/markdown.svg
+[octicon-megaphone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/megaphone.svg
+[octicon-mention]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/mention.svg
+[octicon-milestone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/milestone.svg
+[octicon-mirror]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/mirror.svg
+[octicon-mortar-board]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/mortar-board.svg
+[octicon-mute]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/mute.svg
+[octicon-no-newline]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/no-newline.svg
+[octicon-octoface]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/octoface.svg
+[octicon-organization]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/organization.svg
+[octicon-package]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/package.svg
+[octicon-paintcan]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/paintcan.svg
+[octicon-pencil]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/pencil.svg
+[octicon-person]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/person.svg
+[octicon-pin]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/pin.svg
+[octicon-plug]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/plug.svg
+[octicon-plus-small]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/plus-small.svg
+[octicon-plus]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/plus.svg
+[octicon-primitive-dot]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/primitive-dot.svg
+[octicon-primitive-square]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/primitive-square.svg
+[octicon-pulse]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/pulse.svg
+[octicon-question]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/question.svg
+[octicon-quote]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/quote.svg
+[octicon-radio-tower]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/radio-tower.svg
+[octicon-reply]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/reply.svg
+[octicon-repo-clone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/repo-clone.svg
+[octicon-repo-force-push]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/repo-force-push.svg
+[octicon-repo-forked]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/repo-forked.svg
+[octicon-repo-pull]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/repo-pull.svg
+[octicon-repo-push]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/repo-push.svg
+[octicon-repo]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/repo.svg
+[octicon-rocket]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/rocket.svg
+[octicon-rss]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/rss.svg
+[octicon-ruby]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/ruby.svg
+[octicon-search]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/search.svg
+[octicon-server]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/server.svg
+[octicon-settings]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/settings.svg
+[octicon-shield]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/shield.svg
+[octicon-sign-in]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/sign-in.svg
+[octicon-sign-out]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/sign-out.svg
+[octicon-smiley]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/smiley.svg
+[octicon-squirrel]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/squirrel.svg
+[octicon-star]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/star.svg
+[octicon-stop]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/stop.svg
+[octicon-sync]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/sync.svg
+[octicon-tag]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/tag.svg
+[octicon-tasklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/tasklist.svg
+[octicon-telescope]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/telescope.svg
+[octicon-terminal]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/terminal.svg
+[octicon-text-size]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/text-size.svg
+[octicon-three-bars]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/three-bars.svg
+[octicon-thumbsdown]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/thumbsdown.svg
+[octicon-thumbsup]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/thumbsup.svg
+[octicon-tools]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/tools.svg
+[octicon-trashcan]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/trashcan.svg
+[octicon-triangle-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/triangle-down.svg
+[octicon-triangle-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/triangle-left.svg
+[octicon-triangle-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/triangle-right.svg
+[octicon-triangle-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/triangle-up.svg
+[octicon-unfold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/unfold.svg
+[octicon-unmute]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/unmute.svg
+[octicon-unverified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/unverified.svg
+[octicon-verified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/verified.svg
+[octicon-versions]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/versions.svg
+[octicon-watch]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/watch.svg
+[octicon-x]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.0.0/svg/x.svg
diff --git a/docs/0002-format-source-code-with-javascript-standard-style.md b/docs/0002-format-source-code-with-javascript-standard-style.md
new file mode 100644
index 0000000..74a6929
--- /dev/null
+++ b/docs/0002-format-source-code-with-javascript-standard-style.md
@@ -0,0 +1,100 @@
+# 2. Format source code with JavaScript Standard Style
+
+Date: 2018-03-17
+
+## Status
+
+| ADR Status | Capability - Category | TechRadar Quadrant - Ring |
+|:-------------:|:----------------------:|:----------------:|
+| ![ADR Status: Proposed][label-adr-proposed-img] | [Capability ![External link][icon-octicon-link-external]](.) [Category ![External link][icon-octicon-link-external]](.) | [![TechRadar: Languages and Frameworks][label-langs-frameworks-img]][tw-tech-radar-langs-frameworks-url] ![Hold][label-tech-radar-langs-frameworks-hold-img] |
+
+## Context
+
+> Describe the issue that is motivating this decision or change.
+
+## Decision
+
+> State your proposed decision.
+
+## Consequences
+
+> Objectively list how this change will make work easier or more difficult.
+
+
+
+[label-adr-proposed-img]: https://fakeimg.pl/160x40/0052cc/FFF/?text=Proposed&font_size=26
+[label-adr-accepted-img]: https://fakeimg.pl/160x40/0e8a16/FFF/?text=Accepted&font_size=26
+[label-adr-rejected-img]: https://fakeimg.pl/160x40/666/FFF/?text=Rejected&font_size=26
+[label-adr-deprecated-img]: https://fakeimg.pl/160x40/b60205/FFF/?text=Deprecated&font_size=26
+[label-adr-superseded-img]: https://fakeimg.pl/160x40/e99695/000/?text=Superseded&font_size=26
+
+
+
+[fake-images-pl-github-url]: https://github.com/Rydgel/Fake-images-please "View the source code on GitHub."
+[icon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/checklist.svg
+[icon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg
+[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg
+[icon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mark-github.svg
+[icon-md]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/markdown.svg
+[icon-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-media.svg
+
+
+
+
+
+[label-langs-frameworks-img]: https://fakeimg.pl/200x40/b32059/FFF/?text=Languages+%26+Frameworks&font_size=24
+[label-tech-radar-langs-frameworks-img]: https://fakeimg.pl/200x80/b32059/FFF/?text=TechRadar:%0ALanguages+%26+Frameworks&font_size=24
+
+
+
+[label-tech-radar-langs-frameworks-adopt-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Adopt&font_size=18
+[label-tech-radar-langs-frameworks-trial-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Trial&font_size=18
+[label-tech-radar-langs-frameworks-assess-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Assess&font_size=18
+[label-tech-radar-langs-frameworks-hold-img]: https://fakeimg.pl/80x40/b32059/FFF/?text=Hold&font_size=18
+
+
+
+[label-platforms-img]: https://fakeimg.pl/200x40/f38a3e/FFF/?text=Platforms&font_size=24
+[label-tech-radar-platforms-img]: https://fakeimg.pl/200x80/f38a3e/FFF/?text=TechRadar:+Platforms&font_size=24
+
+
+
+[label-tech-radar-platforms-adopt-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Adopt&font_size=18
+[label-tech-radar-platforms-trial-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Trial&font_size=18
+[label-tech-radar-platforms-assess-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Assess&font_size=18
+[label-tech-radar-platforms-hold-img]: https://fakeimg.pl/80x40/f38a3e/FFF/?text=Hold&font_size=18
+
+
+
+[label-techniques-img]: https://fakeimg.pl/200x40/1ebccd/FFF/?text=Techniques&font_size=24
+[label-tech-radar-techniques-img]: https://fakeimg.pl/200x80/1ebccd/FFF/?text=TechRadar:+Techniques&font_size=24
+
+
+
+[label-tech-radar-techniques-adopt-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Adopt&font_size=18
+[label-tech-radar-techniques-trial-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Trial&font_size=18
+[label-tech-radar-techniques-assess-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Assess&font_size=18
+[label-tech-radar-techniques-hold-img]: https://fakeimg.pl/80x40/1ebccd/FFF/?text=Hold&font_size=18
+
+
+
+[label-tools-img]: https://fakeimg.pl/200x40/86b782/FFF/?text=Tools&font_size=24
+[label-tech-radar-tools-img]: https://fakeimg.pl/200x80/86b782/FFF/?text=TechRadar:+Tools&font_size=24
+
+
+
+[label-tech-radar-tools-adopt-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Adopt&font_size=18
+[label-tech-radar-tools-trial-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Trial&font_size=18
+[label-tech-radar-tools-assess-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Assess&font_size=18
+[label-tech-radar-tools-hold-img]: https://fakeimg.pl/80x40/86b782/FFF/?text=Hold&font_size=18
+
+
+
+[nygard-article-url]: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
+[tw-tech-radar-adrs]: https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records
+[tw-tech-radar-evolutionary-architecture]: https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
+[tw-tech-radar-faq-url]: https://www.thoughtworks.com/radar/a-z
+[tw-tech-radar-langs-frameworks-url]: https://www.thoughtworks.com/radar/languages-and-frameworks
+[tw-tech-radar-platforms-url]: https://www.thoughtworks.com/radar/platforms
+[tw-tech-radar-techniques-url]: https://www.thoughtworks.com/radar/techniques
+[tw-tech-radar-tools-url]: https://www.thoughtworks.com/radar/tools
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..19e0a02
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,4 @@
+# Architecture Decision Records
+
+* [1. record-architecture-decisions](0001-record-architecture-decisions.md)
+* [2. format-source-code-with-javascript-standard-style](0002-format-source-code-with-javascript-standard-style.md)
\ No newline at end of file
diff --git a/docs/common-vocabulary.md b/docs/common-vocabulary.md
new file mode 100644
index 0000000..dc31ab9
--- /dev/null
+++ b/docs/common-vocabulary.md
@@ -0,0 +1,1102 @@
+# Common Vocabulary
+
+> Generated on Fri Feb 09 2018.
+
+## Index of terms
+
+ 1. [**catalog**](#catalog) e-commerce
+ 1. [**checkout**](#checkout) e-commerce
+ 1. [**demo**](#demo) e-commerce
+ 1. [**geolocation**](#geolocation) e-commerce
+ 1. [**inventory**](#inventory) e-commerce
+ 1. [**media**](#media) e-commerce
+ 1. [**offer**](#offer) e-commerce
+ 1. [**order**](#order) e-commerce
+ 1. [**payment**](#payment) e-commerce
+ 1. [**pricing**](#pricing) e-commerce
+ 1. [**promotionMessage**](#promotionMessage) e-commerce
+ 1. [**rating**](#rating) e-commerce
+ 1. [**registration**](#registration) e-commerce
+ 1. [**search**](#search) e-commerce
+ 1. [**social**](#social) e-commerce
+ 1. [**store**](#store) e-commerce
+ 1. [**util**](#util) e-commerce
+ 1. [**workflow**](#workflow) e-commerce
+ 1. [**feat**](#feat) conventional-commit-type
+ 1. [**fix**](#fix) conventional-commit-type
+ 1. [**docs**](#docs) conventional-commit-type
+ 1. [**style**](#style) conventional-commit-type
+ 1. [**refactor**](#refactor) conventional-commit-type
+ 1. [**perf**](#perf) conventional-commit-type
+ 1. [**test**](#test) conventional-commit-type
+ 1. [**build**](#build) conventional-commit-type
+ 1. [**ci**](#ci) conventional-commit-type
+ 1. [**chore**](#chore) conventional-commit-type
+ 1. [**revert**](#revert) conventional-commit-type
+
+
+## Definitions
+
+
+
+
+ catalog
+A complete list of available products for purchase.
+
+
+ Toggle for additional engineering usages of catalog ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: catalog
+
Type: docs
+ Sample commit message header:
+
docs(catalog): lorem ipsum dolor sit amet
+
+ Scope: catalog
+
Type: feat
+ Sample commit message header:
+
feat(catalog): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ checkout
+A point at which goods are paid for.
+
+
+ Toggle for additional engineering usages of checkout ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: checkout
+
Type: docs
+ Sample commit message header:
+
docs(checkout): lorem ipsum dolor sit amet
+
+ Scope: checkout
+
Type: feat
+ Sample commit message header:
+
feat(checkout): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ demo
+The action or process of showing the existence or truth of something by giving proof or evidence.
+
+
+ Toggle for additional engineering usages of demo ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
+
+
+
+
+
+ geolocation
+The process or technique of identifying the geographical location of a person or device by means of digital information processed via the Internet.
+
+
+ Toggle for additional engineering usages of geolocation ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
+
+
+
+
+
+ inventory
+A complete list of items such as property, goods in stock, or the contents of a building.
+
+
+ Toggle for additional engineering usages of inventory ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: inventory
+
Type: docs
+ Sample commit message header:
+
docs(inventory): lorem ipsum dolor sit amet
+
+ Scope: inventory
+
Type: feat
+ Sample commit message header:
+
feat(inventory): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ media
+Digital assets other than text, copy, or words.
+
+
+ Toggle for additional engineering usages of media ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
+
+
+
+
+
+ offer
+A specially reduced price or terms for something on sale.
+
+
+ Toggle for additional engineering usages of offer ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
+
+
+
+
+
+ order
+An electronic request for something to be made, supplied, or served.
+
+
+ Toggle for additional engineering usages of order ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: order
+
Type: docs
+ Sample commit message header:
+
docs(order): lorem ipsum dolor sit amet
+
+ Scope: order
+
Type: feat
+ Sample commit message header:
+
feat(order): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ payment
+The action or process of paying someone or something, or of being paid.
+
+
+ Toggle for additional engineering usages of payment ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: payment
+
Type: docs
+ Sample commit message header:
+
docs(payment): lorem ipsum dolor sit amet
+
+ Scope: payment
+
Type: feat
+ Sample commit message header:
+
feat(payment): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ pricing
+The process of determining the amount required as payment for (something offered for sale).
+
+
+ Toggle for additional engineering usages of pricing ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: pricing
+
Type: docs
+ Sample commit message header:
+
docs(pricing): lorem ipsum dolor sit amet
+
+ Scope: pricing
+
Type: feat
+ Sample commit message header:
+
feat(pricing): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ promotionMessage
+The publicization of a product or venture so as to increase sales or market awareness.
+
+
+ Toggle for additional engineering usages of promotionMessage ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: promotionMessage
+
Type: docs
+ Sample commit message header:
+
docs(promotionMessage): lorem ipsum dolor sit amet
+
+ Scope: promotionMessage
+
Type: feat
+ Sample commit message header:
+
feat(promotionMessage): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ rating
+Classifications or rankings of someone or something based on a comparative assessment of their quality, standard, or performance.
+
+
+ Toggle for additional engineering usages of rating ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: rating
+
Type: docs
+ Sample commit message header:
+
docs(rating): lorem ipsum dolor sit amet
+
+ Scope: rating
+
Type: feat
+ Sample commit message header:
+
feat(rating): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ registration
+The action or process of creating a business account.
+
+
+ Toggle for additional engineering usages of registration ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: registration
+
Type: docs
+ Sample commit message header:
+
docs(registration): lorem ipsum dolor sit amet
+
+ Scope: registration
+
Type: feat
+ Sample commit message header:
+
feat(registration): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ search
+The retrieval of information, or the facility for this.
+
+
+ Toggle for additional engineering usages of search ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: search
+
Type: docs
+ Sample commit message header:
+
docs(search): lorem ipsum dolor sit amet
+
+ Scope: search
+
Type: feat
+ Sample commit message header:
+
feat(search): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ social
+Of or relating to features that enable users to create and share content or to participate in social networking.
+
+
+ Toggle for additional engineering usages of social ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: social
+
Type: docs
+ Sample commit message header:
+
docs(social): lorem ipsum dolor sit amet
+
+ Scope: social
+
Type: feat
+ Sample commit message header:
+
feat(social): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ store
+The virtual representation of a retail establishment selling items to the public.
+
+
+ Toggle for additional engineering usages of store ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: store
+
Type: docs
+ Sample commit message header:
+
docs(store): lorem ipsum dolor sit amet
+
+ Scope: store
+
Type: feat
+ Sample commit message header:
+
feat(store): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ util
+A useful tool, especially through being able to perform several functions.
+
+
+ Toggle for additional engineering usages of util ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: util
+
Type: docs
+ Sample commit message header:
+
docs(util): lorem ipsum dolor sit amet
+
+ Scope: util
+
Type: feat
+ Sample commit message header:
+
feat(util): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ workflow
+A sequence of tasks through which a piece of work passes from initiation to completion.
+
+
+ Toggle for additional engineering usages of workflow ...
+
+
+
+
Category
+
+
+
+
+ Commit log headers
+
+
+
+ Scope: workflow
+
Type: docs
+ Sample commit message header:
+
docs(workflow): lorem ipsum dolor sit amet
+
+ Scope: workflow
+
Type: feat
+ Sample commit message header:
+
feat(workflow): lorem ipsum dolor sit amet
+
+
+
+
+
+
+
+ Labels
+
+ type: docs
+
+
type: feat
+
+
+
+
+
+
+
+ feat
+A new feature
+
+
+ Toggle for additional engineering usages of feat ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ fix
+A bug fix
+
+
+ Toggle for additional engineering usages of fix ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ docs
+Documentation only changes
+
+
+ Toggle for additional engineering usages of docs ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ style
+Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
+
+
+ Toggle for additional engineering usages of style ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ refactor
+A code change that neither fixes a bug nor adds a feature
+
+
+ Toggle for additional engineering usages of refactor ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ perf
+A code change that improves performance
+
+
+ Toggle for additional engineering usages of perf ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ test
+Adding missing tests or correcting existing tests
+
+
+ Toggle for additional engineering usages of test ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ build
+Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
+
+
+ Toggle for additional engineering usages of build ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ ci
+Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
+
+
+ Toggle for additional engineering usages of ci ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ chore
+Other changes that don't modify src or test files
+
+
+ Toggle for additional engineering usages of chore ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
+ revert
+Reverts a previous commit
+
+
+ Toggle for additional engineering usages of revert ...
+
+
+
+
Category
+
+ conventional-commit-type
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/img/icons8/contribution-lifecycle-create-issue.png b/docs/img/icons8/contribution-lifecycle-create-issue.png
new file mode 100644
index 0000000..b244a91
Binary files /dev/null and b/docs/img/icons8/contribution-lifecycle-create-issue.png differ
diff --git a/docs/img/icons8/contribution-lifecycle-pr.png b/docs/img/icons8/contribution-lifecycle-pr.png
new file mode 100644
index 0000000..cb85865
Binary files /dev/null and b/docs/img/icons8/contribution-lifecycle-pr.png differ
diff --git a/docs/img/icons8/git-logo.png b/docs/img/icons8/git-logo.png
new file mode 100644
index 0000000..8568d45
Binary files /dev/null and b/docs/img/icons8/git-logo.png differ
diff --git a/docs/img/icons8/icon-alert-50.png b/docs/img/icons8/icon-alert-50.png
new file mode 100644
index 0000000..bd724ee
Binary files /dev/null and b/docs/img/icons8/icon-alert-50.png differ
diff --git a/docs/img/icons8/icon-bad-decision-50.png b/docs/img/icons8/icon-bad-decision-50.png
new file mode 100644
index 0000000..a123646
Binary files /dev/null and b/docs/img/icons8/icon-bad-decision-50.png differ
diff --git a/docs/img/icons8/icon-badge-50.png b/docs/img/icons8/icon-badge-50.png
new file mode 100644
index 0000000..bafefbd
Binary files /dev/null and b/docs/img/icons8/icon-badge-50.png differ
diff --git a/docs/img/icons8/icon-beginner.png b/docs/img/icons8/icon-beginner.png
new file mode 100644
index 0000000..11a4421
Binary files /dev/null and b/docs/img/icons8/icon-beginner.png differ
diff --git a/docs/img/icons8/icon-bitbucket-20.png b/docs/img/icons8/icon-bitbucket-20.png
new file mode 100644
index 0000000..648d7ad
Binary files /dev/null and b/docs/img/icons8/icon-bitbucket-20.png differ
diff --git a/docs/img/icons8/icon-conversation-50.png b/docs/img/icons8/icon-conversation-50.png
new file mode 100644
index 0000000..c385934
Binary files /dev/null and b/docs/img/icons8/icon-conversation-50.png differ
diff --git a/docs/img/icons8/icon-data-transfer.png b/docs/img/icons8/icon-data-transfer.png
new file mode 100644
index 0000000..f076512
Binary files /dev/null and b/docs/img/icons8/icon-data-transfer.png differ
diff --git a/docs/img/icons8/icon-defect-50.png b/docs/img/icons8/icon-defect-50.png
new file mode 100644
index 0000000..1d6ea0c
Binary files /dev/null and b/docs/img/icons8/icon-defect-50.png differ
diff --git a/docs/img/icons8/icon-developer-filled.png b/docs/img/icons8/icon-developer-filled.png
new file mode 100644
index 0000000..ff2f496
Binary files /dev/null and b/docs/img/icons8/icon-developer-filled.png differ
diff --git a/docs/img/icons8/icon-equality-50.png b/docs/img/icons8/icon-equality-50.png
new file mode 100644
index 0000000..4499138
Binary files /dev/null and b/docs/img/icons8/icon-equality-50.png differ
diff --git a/docs/img/icons8/icon-git-commit.png b/docs/img/icons8/icon-git-commit.png
new file mode 100644
index 0000000..043a8fe
Binary files /dev/null and b/docs/img/icons8/icon-git-commit.png differ
diff --git a/docs/img/icons8/icon-git-compare.png b/docs/img/icons8/icon-git-compare.png
new file mode 100644
index 0000000..0bdee18
Binary files /dev/null and b/docs/img/icons8/icon-git-compare.png differ
diff --git a/docs/img/icons8/icon-git-fork.png b/docs/img/icons8/icon-git-fork.png
new file mode 100644
index 0000000..e3a558c
Binary files /dev/null and b/docs/img/icons8/icon-git-fork.png differ
diff --git a/docs/img/icons8/icon-git-merge-square-80.png b/docs/img/icons8/icon-git-merge-square-80.png
new file mode 100644
index 0000000..6906936
Binary files /dev/null and b/docs/img/icons8/icon-git-merge-square-80.png differ
diff --git a/docs/img/icons8/icon-git-merge.png b/docs/img/icons8/icon-git-merge.png
new file mode 100644
index 0000000..fc84cdf
Binary files /dev/null and b/docs/img/icons8/icon-git-merge.png differ
diff --git a/docs/img/icons8/icon-git-pr.png b/docs/img/icons8/icon-git-pr.png
new file mode 100644
index 0000000..275768c
Binary files /dev/null and b/docs/img/icons8/icon-git-pr.png differ
diff --git a/docs/img/icons8/icon-git-pull-request-filled-square-80.png b/docs/img/icons8/icon-git-pull-request-filled-square-80.png
new file mode 100644
index 0000000..9694694
Binary files /dev/null and b/docs/img/icons8/icon-git-pull-request-filled-square-80.png differ
diff --git a/docs/img/icons8/icon-github-filled-20.png b/docs/img/icons8/icon-github-filled-20.png
new file mode 100644
index 0000000..539c0ef
Binary files /dev/null and b/docs/img/icons8/icon-github-filled-20.png differ
diff --git a/docs/img/icons8/icon-globe-50.png b/docs/img/icons8/icon-globe-50.png
new file mode 100644
index 0000000..8444531
Binary files /dev/null and b/docs/img/icons8/icon-globe-50.png differ
diff --git a/docs/img/icons8/icon-good-decision-50.png b/docs/img/icons8/icon-good-decision-50.png
new file mode 100644
index 0000000..dbcc8fb
Binary files /dev/null and b/docs/img/icons8/icon-good-decision-50.png differ
diff --git a/docs/img/icons8/icon-help-48.png b/docs/img/icons8/icon-help-48.png
new file mode 100644
index 0000000..1ef28f7
Binary files /dev/null and b/docs/img/icons8/icon-help-48.png differ
diff --git a/docs/img/icons8/icon-help.png b/docs/img/icons8/icon-help.png
new file mode 100644
index 0000000..6f23ef3
Binary files /dev/null and b/docs/img/icons8/icon-help.png differ
diff --git a/docs/img/icons8/icon-info-30.png b/docs/img/icons8/icon-info-30.png
new file mode 100644
index 0000000..6aab85b
Binary files /dev/null and b/docs/img/icons8/icon-info-30.png differ
diff --git a/docs/img/icons8/icon-info-50.png b/docs/img/icons8/icon-info-50.png
new file mode 100644
index 0000000..4675c70
Binary files /dev/null and b/docs/img/icons8/icon-info-50.png differ
diff --git a/docs/img/icons8/icon-info-500.png b/docs/img/icons8/icon-info-500.png
new file mode 100644
index 0000000..4675c70
Binary files /dev/null and b/docs/img/icons8/icon-info-500.png differ
diff --git a/docs/img/icons8/icon-issues.png b/docs/img/icons8/icon-issues.png
new file mode 100644
index 0000000..13ee69f
Binary files /dev/null and b/docs/img/icons8/icon-issues.png differ
diff --git a/docs/img/icons8/icon-justice-50.png b/docs/img/icons8/icon-justice-50.png
new file mode 100644
index 0000000..4e03733
Binary files /dev/null and b/docs/img/icons8/icon-justice-50.png differ
diff --git a/docs/img/icons8/icon-label-50.png b/docs/img/icons8/icon-label-50.png
new file mode 100644
index 0000000..e0a853b
Binary files /dev/null and b/docs/img/icons8/icon-label-50.png differ
diff --git a/docs/img/icons8/icon-leadership-filled.png b/docs/img/icons8/icon-leadership-filled.png
new file mode 100644
index 0000000..7fe8388
Binary files /dev/null and b/docs/img/icons8/icon-leadership-filled.png differ
diff --git a/docs/img/icons8/icon-module.png b/docs/img/icons8/icon-module.png
new file mode 100644
index 0000000..f383fd4
Binary files /dev/null and b/docs/img/icons8/icon-module.png differ
diff --git a/docs/img/icons8/icon-network-quadrant.png b/docs/img/icons8/icon-network-quadrant.png
new file mode 100644
index 0000000..adbfa97
Binary files /dev/null and b/docs/img/icons8/icon-network-quadrant.png differ
diff --git a/docs/img/icons8/icon-pledge-50.png b/docs/img/icons8/icon-pledge-50.png
new file mode 100644
index 0000000..46876dc
Binary files /dev/null and b/docs/img/icons8/icon-pledge-50.png differ
diff --git a/docs/img/icons8/icon-pr.png b/docs/img/icons8/icon-pr.png
new file mode 100644
index 0000000..7712761
Binary files /dev/null and b/docs/img/icons8/icon-pr.png differ
diff --git a/docs/img/icons8/icon-quote-left-25.png b/docs/img/icons8/icon-quote-left-25.png
new file mode 100644
index 0000000..66833e2
Binary files /dev/null and b/docs/img/icons8/icon-quote-left-25.png differ
diff --git a/docs/img/icons8/icon-request-service-filled-issue-80.png b/docs/img/icons8/icon-request-service-filled-issue-80.png
new file mode 100644
index 0000000..c35c47c
Binary files /dev/null and b/docs/img/icons8/icon-request-service-filled-issue-80.png differ
diff --git a/docs/img/icons8/icon-rest-api.png b/docs/img/icons8/icon-rest-api.png
new file mode 100644
index 0000000..64894e4
Binary files /dev/null and b/docs/img/icons8/icon-rest-api.png differ
diff --git a/docs/img/icons8/icon-rest-client.png b/docs/img/icons8/icon-rest-client.png
new file mode 100644
index 0000000..23836d9
Binary files /dev/null and b/docs/img/icons8/icon-rest-client.png differ
diff --git a/docs/img/icons8/icon-source-code.png b/docs/img/icons8/icon-source-code.png
new file mode 100644
index 0000000..60897de
Binary files /dev/null and b/docs/img/icons8/icon-source-code.png differ
diff --git a/docs/img/icons8/icon-volunteering-filled-80.png b/docs/img/icons8/icon-volunteering-filled-80.png
new file mode 100644
index 0000000..b9bf548
Binary files /dev/null and b/docs/img/icons8/icon-volunteering-filled-80.png differ
diff --git a/docs/img/icons8/icon-volunteering-filled.png b/docs/img/icons8/icon-volunteering-filled.png
new file mode 100644
index 0000000..d085924
Binary files /dev/null and b/docs/img/icons8/icon-volunteering-filled.png differ
diff --git a/docs/img/icons8/icons-git-filled-square-80.png b/docs/img/icons8/icons-git-filled-square-80.png
new file mode 100644
index 0000000..01bb14e
Binary files /dev/null and b/docs/img/icons8/icons-git-filled-square-80.png differ
diff --git a/docs/img/icons8/icons-iss-issues-service-filled-80.png b/docs/img/icons8/icons-iss-issues-service-filled-80.png
new file mode 100644
index 0000000..7b44dc7
Binary files /dev/null and b/docs/img/icons8/icons-iss-issues-service-filled-80.png differ
diff --git a/docs/img/icons8/img-instructions-25.png b/docs/img/icons8/img-instructions-25.png
new file mode 100644
index 0000000..52be281
Binary files /dev/null and b/docs/img/icons8/img-instructions-25.png differ
diff --git a/docs/img/icons8/img-instructions.png b/docs/img/icons8/img-instructions.png
new file mode 100644
index 0000000..ad69704
Binary files /dev/null and b/docs/img/icons8/img-instructions.png differ
diff --git a/docs/img/logo-commonalaxy.png b/docs/img/logo-commonalaxy.png
new file mode 100644
index 0000000..1cae4d4
Binary files /dev/null and b/docs/img/logo-commonalaxy.png differ
diff --git a/docs/img/logo-eslint.png b/docs/img/logo-eslint.png
new file mode 100644
index 0000000..8b43a16
Binary files /dev/null and b/docs/img/logo-eslint.png differ
diff --git a/docs/img/logo-jest.png b/docs/img/logo-jest.png
new file mode 100644
index 0000000..792c3bf
Binary files /dev/null and b/docs/img/logo-jest.png differ
diff --git a/docs/img/logo-osi.png b/docs/img/logo-osi.png
new file mode 100644
index 0000000..503cabc
Binary files /dev/null and b/docs/img/logo-osi.png differ
diff --git a/docs/img/logo.sample.png b/docs/img/logo.sample.png
new file mode 100644
index 0000000..45de59e
Binary files /dev/null and b/docs/img/logo.sample.png differ
diff --git a/lib/__tests__/index.test.js b/lib/__tests__/index.test.js
new file mode 100644
index 0000000..40d4e6b
--- /dev/null
+++ b/lib/__tests__/index.test.js
@@ -0,0 +1,7 @@
+describe("architecture-decision-records", () => {
+ describe("does not contain any source code; therefore", () => {
+ test("it does not have anything to test", () => {
+ expect(true).toBe(true);
+ });
+ });
+});
diff --git a/lib/readme.md b/lib/readme.md
new file mode 100644
index 0000000..431e1c8
--- /dev/null
+++ b/lib/readme.md
@@ -0,0 +1,5 @@
+![commonalaxy][img-logo-commonality]
+
+# `lib/` directory
+
+[img-logo-commonality]: ../docs/img/logo-commonalaxy.png
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..2e772c8
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,10088 @@
+{
+ "name": "architecture-decision-records",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.0.0-beta.40",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.40.tgz",
+ "integrity": "sha512-eVXQSbu/RimU6OKcK2/gDJVTFcxXJI4sHbIqw2mhwMZeQ2as/8AhS9DGkEDoHMBBNJZ5B0US63lF56x+KDcxiA==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "7.0.0-beta.40"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0-beta.40",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.40.tgz",
+ "integrity": "sha512-mOhhTrzieV6VO7odgzFGFapiwRK0ei8RZRhfzHhb6cpX3QM8XXuCLXWjN8qBB7JReDdUR80V3LFfFrGUYevhNg==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.1",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "@mrmlnc/readdir-enhanced": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "dev": true,
+ "requires": {
+ "call-me-maybe": "1.0.1",
+ "glob-to-regexp": "0.3.0"
+ }
+ },
+ "@octokit/rest": {
+ "version": "15.2.4",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.2.4.tgz",
+ "integrity": "sha512-4CK9zGoRUNyFDpOZ4DO4772Aib0A9N5XaCWctliyxtY8hFoK8wWm5Y28JcpjI7Zrv8LVUJ2YYTTCMEJpschXOg==",
+ "dev": true,
+ "requires": {
+ "before-after-hook": "1.1.0",
+ "btoa-lite": "1.0.0",
+ "debug": "3.1.0",
+ "http-proxy-agent": "2.1.0",
+ "https-proxy-agent": "2.2.0",
+ "lodash": "4.17.5",
+ "node-fetch": "2.1.1",
+ "url-template": "2.0.8"
+ },
+ "dependencies": {
+ "https-proxy-agent": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.0.tgz",
+ "integrity": "sha512-uUWcfXHvy/dwfM9bqa6AozvAjS32dZSTUYd/4SEpYKRg6LEcPLshksnQYRudM9AyNvUARMfAg5TLjUDyX/K4vA==",
+ "dev": true,
+ "requires": {
+ "agent-base": "4.2.0",
+ "debug": "3.1.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "@semantic-release/changelog": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-2.0.1.tgz",
+ "integrity": "sha512-Ydn2N8EIcl59Pf/WE+eQtdvz1bvTDnOj3XvHeN6c8okJnTxanv5Kzrq5jAkemd4PDylWNbsNdXbi61oPl4ixPg==",
+ "dev": true,
+ "requires": {
+ "@semantic-release/error": "2.2.0",
+ "aggregate-error": "1.0.0",
+ "fs-extra": "5.0.0",
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "@semantic-release/commit-analyzer": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-5.0.2.tgz",
+ "integrity": "sha512-LqxmHwsy6DIvKg5tz4L8pvw9B0SECPlut0vE2b0bhHoO0v+w7kiEKeRf6gcaxCY6lDo02AWXViN0V3BfAEGFJw==",
+ "dev": true,
+ "requires": {
+ "conventional-changelog-angular": "1.6.6",
+ "conventional-commits-parser": "2.1.5",
+ "debug": "3.1.0",
+ "import-from": "2.1.0",
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "@semantic-release/error": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz",
+ "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==",
+ "dev": true
+ },
+ "@semantic-release/git": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-4.0.1.tgz",
+ "integrity": "sha512-/gN9eLCS+9zehxt4eUsmBE+NytPqpUplbffvNhnjM1+kJPrX9eLBeWTSNYJE2Gr8MGSHodgY5QerhLvDTjPQMA==",
+ "dev": true,
+ "requires": {
+ "@semantic-release/error": "2.2.0",
+ "aggregate-error": "1.0.0",
+ "debug": "3.1.0",
+ "dir-glob": "2.0.0",
+ "execa": "0.9.0",
+ "fs-extra": "5.0.0",
+ "lodash": "4.17.5",
+ "micromatch": "3.1.9",
+ "p-reduce": "1.0.0"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "braces": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz",
+ "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0",
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "extend-shallow": "2.0.1",
+ "fill-range": "4.0.0",
+ "isobject": "3.0.1",
+ "kind-of": "6.0.2",
+ "repeat-element": "1.1.2",
+ "snapdragon": "0.8.2",
+ "snapdragon-node": "2.1.1",
+ "split-string": "3.1.0",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
+ "execa": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.9.0.tgz",
+ "integrity": "sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "posix-character-classes": "0.1.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "expand-brackets": "2.1.4",
+ "extend-shallow": "2.0.1",
+ "fragment-cache": "0.2.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1",
+ "to-regex-range": "2.1.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz",
+ "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "braces": "2.3.1",
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "extglob": "2.0.4",
+ "fragment-cache": "0.2.1",
+ "kind-of": "6.0.2",
+ "nanomatch": "1.2.9",
+ "object.pick": "1.3.0",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ }
+ }
+ }
+ },
+ "@semantic-release/github": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-4.2.8.tgz",
+ "integrity": "sha512-3zf/1PFjQgPhMeK1RNDY9RUBLoRga/Ro2AsSdF62B/04k7cEcVavGL9agRM6erG3Lv0ieEDCzHApm3LLGDHEvw==",
+ "dev": true,
+ "requires": {
+ "@octokit/rest": "15.2.4",
+ "@semantic-release/error": "2.2.0",
+ "aggregate-error": "1.0.0",
+ "bottleneck": "2.2.0",
+ "debug": "3.1.0",
+ "fs-extra": "5.0.0",
+ "globby": "8.0.1",
+ "issue-parser": "1.0.3",
+ "lodash": "4.17.5",
+ "mime": "2.2.0",
+ "p-retry": "1.0.0",
+ "parse-github-url": "1.0.2",
+ "url-join": "4.0.0"
+ },
+ "dependencies": {
+ "globby": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz",
+ "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
+ "dev": true,
+ "requires": {
+ "array-union": "1.0.2",
+ "dir-glob": "2.0.0",
+ "fast-glob": "2.2.0",
+ "glob": "7.1.2",
+ "ignore": "3.3.7",
+ "pify": "3.0.0",
+ "slash": "1.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "@semantic-release/npm": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-3.2.2.tgz",
+ "integrity": "sha512-I+VKQxCtwzFie53dgPnCrlzguwVg6ivC/0JzBkT9BnjSHkdurME5QIMmeJgHxMEvDcYkYLruk1eeAdxv/49TEw==",
+ "dev": true,
+ "requires": {
+ "@semantic-release/error": "2.2.0",
+ "aggregate-error": "1.0.0",
+ "execa": "0.9.0",
+ "fs-extra": "5.0.0",
+ "lodash": "4.17.5",
+ "nerf-dart": "1.0.0",
+ "normalize-url": "2.0.1",
+ "read-pkg": "3.0.0",
+ "registry-auth-token": "3.3.2"
+ },
+ "dependencies": {
+ "execa": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.9.0.tgz",
+ "integrity": "sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "4.0.0",
+ "pify": "3.0.0",
+ "strip-bom": "3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1",
+ "json-parse-better-errors": "1.0.1"
+ }
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "4.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "3.0.0"
+ }
+ }
+ }
+ },
+ "@semantic-release/release-notes-generator": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-6.0.6.tgz",
+ "integrity": "sha512-Rf7fipoZ3IFAdYAOW0vXnAS/ZjSOKvNb0RvYzrD4OCSSdKQPY/UN9BapLD+aRQgYdW3KFQHbPaUUH4RXtEPZJg==",
+ "dev": true,
+ "requires": {
+ "conventional-changelog-angular": "1.6.6",
+ "conventional-changelog-writer": "3.0.4",
+ "conventional-commits-parser": "2.1.5",
+ "debug": "3.1.0",
+ "get-stream": "3.0.0",
+ "git-url-parse": "8.2.0",
+ "import-from": "2.1.0",
+ "into-stream": "3.1.0",
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "JSONStream": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
+ "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=",
+ "dev": true,
+ "requires": {
+ "jsonparse": "1.3.1",
+ "through": "2.3.8"
+ }
+ },
+ "abab": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz",
+ "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=",
+ "dev": true
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "acorn": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz",
+ "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==",
+ "dev": true
+ },
+ "acorn-globals": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.1.0.tgz",
+ "integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==",
+ "dev": true,
+ "requires": {
+ "acorn": "5.4.1"
+ }
+ },
+ "acorn-jsx": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
+ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
+ "dev": true,
+ "requires": {
+ "acorn": "3.3.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
+ "dev": true
+ }
+ }
+ },
+ "adr": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/adr/-/adr-1.0.7.tgz",
+ "integrity": "sha512-0q7ddF+iTzAyKgfwErbAGI5pU84IALvmLA3ckKvrfzfGyhGLPpLsyojmgBXWtoymQByS+pcze4XHaTMV91J8YA==",
+ "requires": {
+ "colors": "1.2.1",
+ "commander": "2.14.1",
+ "find-in-files": "0.4.0",
+ "lru-cache": "4.1.1",
+ "markdown": "0.5.0",
+ "markdown-toc": "1.2.0",
+ "mkdirp": "0.5.1",
+ "moment": "2.21.0",
+ "remarkable": "1.7.1",
+ "table": "4.0.3",
+ "tslib": "1.9.0",
+ "walk": "2.3.9",
+ "walk-sync": "0.3.2"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.1.tgz",
+ "integrity": "sha512-s8+wktIuDSLffCywiwSxQOMqtPxML11a/dtHE17tMn4B1MSWw/C22EKf7M2KGUBcDaVFEGT+S8N02geDXeuNKg=="
+ }
+ }
+ },
+ "agent-base": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz",
+ "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==",
+ "dev": true,
+ "requires": {
+ "es6-promisify": "5.0.0"
+ }
+ },
+ "aggregate-error": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-1.0.0.tgz",
+ "integrity": "sha1-iINE2tAiCnLjr1CQYRf0h3GSX6w=",
+ "dev": true,
+ "requires": {
+ "clean-stack": "1.3.0",
+ "indent-string": "3.2.0"
+ }
+ },
+ "ajv": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.3.0.tgz",
+ "integrity": "sha1-FlCkERTvAFdMrBC4Ay2PTBSBLac=",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
+ },
+ "ajv-keywords": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz",
+ "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74="
+ },
+ "alce": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/alce/-/alce-1.0.0.tgz",
+ "integrity": "sha1-QmGEyY7iiNDurHf9Y/7WgLZnyrY=",
+ "dev": true,
+ "requires": {
+ "esprima": "1.0.4",
+ "estraverse": "1.3.2"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
+ "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
+ "dev": true
+ }
+ }
+ },
+ "align-text": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-escapes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
+ "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==",
+ "dev": true
+ },
+ "ansi-red": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "ansi-wrap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768="
+ },
+ "ansicolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz",
+ "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "dev": true,
+ "requires": {
+ "micromatch": "2.3.11",
+ "normalize-path": "2.1.1"
+ }
+ },
+ "append-transform": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
+ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
+ "dev": true,
+ "requires": {
+ "default-require-extensions": "1.0.0"
+ }
+ },
+ "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.3"
+ }
+ },
+ "argv-formatter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz",
+ "integrity": "sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk=",
+ "dev": true
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+ "dev": true
+ },
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "array-ify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+ "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=",
+ "dev": true
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "1.0.3"
+ }
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+ "dev": true
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "dev": true
+ },
+ "async": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "async-limiter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
+ "dev": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz",
+ "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=",
+ "dev": true
+ },
+ "autolinker": {
+ "version": "0.15.3",
+ "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.15.3.tgz",
+ "integrity": "sha1-NCQX2PLzRhsUzwkIjV7fh5HcmDI="
+ },
+ "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=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+ "dev": true
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ }
+ },
+ "babel-core": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-generator": "6.26.1",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "convert-source-map": "1.5.1",
+ "debug": "2.6.9",
+ "json5": "0.5.1",
+ "lodash": "4.17.5",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.8",
+ "slash": "1.0.0",
+ "source-map": "0.5.7"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.1",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+ "dev": true,
+ "requires": {
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "detect-indent": "4.0.0",
+ "jsesc": "1.3.0",
+ "lodash": "4.17.5",
+ "source-map": "0.5.7",
+ "trim-right": "1.0.1"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-jest": {
+ "version": "22.4.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-22.4.1.tgz",
+ "integrity": "sha512-rEdN/jevSuX0IQKcUqwqOGa0gDNis4jGY52Rq53aizfDGPwQYNJq+f9NCMT1HUhtUZhYSjvfGUfHQWBRT1/icA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-istanbul": "4.1.5",
+ "babel-preset-jest": "22.4.1"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz",
+ "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "istanbul-lib-instrument": "1.9.2",
+ "test-exclude": "4.2.0"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "22.4.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.1.tgz",
+ "integrity": "sha512-gmj5FvFflXSnRapWmF/jDjx5Lof1kX0OwXibCxMOx38V3CFMOnTxLTUrAFfLkhCey3FJvv0ACvv/+h4nzFRxhg==",
+ "dev": true
+ },
+ "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=",
+ "dev": true
+ },
+ "babel-preset-jest": {
+ "version": "22.4.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-22.4.1.tgz",
+ "integrity": "sha512-gW3+spyB8fkSAI9fX+41BQMwar5LjR+nyKa2QRvK22snxnI29+jJVAMfId+osucFJzJJvhlvzKWnfwX8Omodvg==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-jest-hoist": "22.4.1",
+ "babel-plugin-syntax-object-rest-spread": "6.13.0"
+ }
+ },
+ "babel-register": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "core-js": "2.5.3",
+ "home-or-tmp": "2.0.0",
+ "lodash": "4.17.5",
+ "mkdirp": "0.5.1",
+ "source-map-support": "0.4.18"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.7"
+ }
+ }
+ }
+ },
+ "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=",
+ "dev": true,
+ "requires": {
+ "core-js": "2.5.3",
+ "regenerator-runtime": "0.11.1"
+ }
+ },
+ "babel-template": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "babel-traverse": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "debug": "2.6.9",
+ "globals": "9.18.0",
+ "invariant": "2.2.3",
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.5",
+ "to-fast-properties": "1.0.3"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "babylon": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "cache-base": "1.0.1",
+ "class-utils": "0.3.6",
+ "component-emitter": "1.2.1",
+ "define-property": "1.0.0",
+ "isobject": "3.0.1",
+ "mixin-deep": "1.3.1",
+ "pascalcase": "0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "before-after-hook": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-1.1.0.tgz",
+ "integrity": "sha512-VOMDtYPwLbIncTxNoSzRyvaMxtXmLWLUqr8k5AfC1BzLk34HvBXaQX8snOwQZ4c0aX8aSERqtJSiI9/m2u5kuA==",
+ "dev": true
+ },
+ "boom": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
+ "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
+ "dev": true,
+ "requires": {
+ "hoek": "4.2.1"
+ }
+ },
+ "bottleneck": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.2.0.tgz",
+ "integrity": "sha512-Jeg/aVS2ccQLD8J6ozlr5G15OKpHJs8C5HM2iNYShzZaafnD+/KOW/3oo9DaXc0nFCPAwlpSS8MWljAKqtThvg==",
+ "dev": true
+ },
+ "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": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "browser-process-hrtime": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz",
+ "integrity": "sha1-Ql1opY00R/AqBKqJQYf86K+Le44=",
+ "dev": true
+ },
+ "browser-resolve": {
+ "version": "1.11.2",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+ "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
+ "dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ }
+ },
+ "bser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
+ "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
+ "dev": true,
+ "requires": {
+ "node-int64": "0.4.0"
+ }
+ },
+ "btoa-lite": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
+ "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=",
+ "dev": true
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "1.0.0",
+ "component-emitter": "1.2.1",
+ "get-value": "2.0.6",
+ "has-value": "1.0.0",
+ "isobject": "3.0.1",
+ "set-value": "2.0.0",
+ "to-object-path": "0.3.0",
+ "union-value": "1.0.0",
+ "unset-value": "1.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+ "dev": true
+ },
+ "caller-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
+ "dev": true,
+ "requires": {
+ "callsites": "0.2.0"
+ },
+ "dependencies": {
+ "callsites": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
+ "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
+ "dev": true
+ }
+ }
+ },
+ "callsites": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
+ "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0",
+ "map-obj": "2.0.0",
+ "quick-lru": "1.1.0"
+ }
+ },
+ "cardinal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz",
+ "integrity": "sha1-UOIcGwqjdyn5N33vGWtanOyTLuk=",
+ "dev": true,
+ "requires": {
+ "ansicolors": "0.2.1",
+ "redeyed": "1.0.1"
+ }
+ },
+ "caseless": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
+ "dev": true
+ },
+ "center-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
+ },
+ "dependencies": {
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "chardet": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
+ "dev": true
+ },
+ "ci-info": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz",
+ "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==",
+ "dev": true
+ },
+ "circular-json": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
+ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
+ "dev": true
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "define-property": "0.2.5",
+ "isobject": "3.0.1",
+ "static-extend": "0.1.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "clean-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz",
+ "integrity": "sha1-jffHquUf02h06PjQW5GAvBGj/tc=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5"
+ }
+ },
+ "clean-stack": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz",
+ "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "2.0.0"
+ }
+ },
+ "cli-table": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
+ "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=",
+ "dev": true,
+ "requires": {
+ "colors": "1.0.3"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
+ "dev": true
+ }
+ }
+ },
+ "cli-table2": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/cli-table2/-/cli-table2-0.2.0.tgz",
+ "integrity": "sha1-LR738hig54biFFQFYtS9F3/jLZc=",
+ "dev": true,
+ "requires": {
+ "colors": "1.1.2",
+ "lodash": "3.10.1",
+ "string-width": "1.0.2"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "coffee-script": {
+ "version": "1.12.7",
+ "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
+ "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw=="
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "1.0.0",
+ "object-visit": "1.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
+ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
+ "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="
+ },
+ "colors": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
+ "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
+ "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw=="
+ },
+ "comment-parser": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.4.2.tgz",
+ "integrity": "sha1-+lo/eAEwcBFIZtx7jpzzF6ljX3Q=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.4"
+ }
+ },
+ "commitplease": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/commitplease/-/commitplease-3.2.0.tgz",
+ "integrity": "sha512-4Ddj/b8HSaY8fOtjeygqti2ACqHtd+wnnDXqD/5BKDqqmbhALo4vzlBOUGhu/qULy/97fQg1n3tyuFcF69SV3Q==",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "git-tools": "0.2.1",
+ "ini": "1.3.5",
+ "semver": "5.5.0"
+ }
+ },
+ "compare-func": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
+ "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=",
+ "dev": true,
+ "requires": {
+ "array-ify": "1.0.0",
+ "dot-prop": "3.0.0"
+ }
+ },
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "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.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.4",
+ "typedarray": "0.0.6"
+ }
+ },
+ "contains-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
+ "dev": true
+ },
+ "content-type-parser": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz",
+ "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==",
+ "dev": true
+ },
+ "conventional-changelog-angular": {
+ "version": "1.6.6",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz",
+ "integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==",
+ "dev": true,
+ "requires": {
+ "compare-func": "1.3.2",
+ "q": "1.5.1"
+ }
+ },
+ "conventional-changelog-writer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-3.0.4.tgz",
+ "integrity": "sha512-EUf/hWiEj3IOa5Jk8XDzM6oS0WgijlYGkUfLc+mDnLH9RwpZqhYIBwgJHWHzEB4My013wx2FhmUu45P6tQrucw==",
+ "dev": true,
+ "requires": {
+ "compare-func": "1.3.2",
+ "conventional-commits-filter": "1.1.5",
+ "dateformat": "3.0.3",
+ "handlebars": "4.0.11",
+ "json-stringify-safe": "5.0.1",
+ "lodash": "4.17.5",
+ "meow": "4.0.0",
+ "semver": "5.5.0",
+ "split": "1.0.1",
+ "through2": "2.0.3"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "conventional-commits-filter": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.5.tgz",
+ "integrity": "sha512-mj3+WLj8UZE72zO9jocZjx8+W4Bwnx/KHoIz1vb4F8XUXj0XSjp8Y3MFkpRyIpsRiCBX+DkDjxGKF/nfeu7BGw==",
+ "dev": true,
+ "requires": {
+ "is-subset": "0.1.1",
+ "modify-values": "1.0.0"
+ }
+ },
+ "conventional-commits-parser": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.5.tgz",
+ "integrity": "sha512-jaAP61py+ISMF3/n3yIiIuY5h6mJlucOqawu5mLB1HaQADLvg/y5UB3pT7HSucZJan34lp7+7ylQPfbKEGmxrA==",
+ "dev": true,
+ "requires": {
+ "JSONStream": "1.3.2",
+ "is-text-path": "1.0.1",
+ "lodash": "4.17.5",
+ "meow": "4.0.0",
+ "split2": "2.2.0",
+ "through2": "2.0.3",
+ "trim-off-newlines": "1.0.1"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "convert-source-map": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+ "dev": true
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "copyfiles": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.0.0.tgz",
+ "integrity": "sha512-NSSJdwCH27/hEiBlhkXYWh3AaPo8IATxLX5XtJQgknOvOehrREtETsGd/BNr2vuj0URgKBC/50PNRM3yShQGJQ==",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "noms": "0.0.0",
+ "through2": "2.0.3",
+ "yargs": "11.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz",
+ "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==",
+ "dev": true,
+ "requires": {
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "wrap-ansi": "2.1.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=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "yargs": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
+ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
+ "dev": true,
+ "requires": {
+ "cliui": "4.0.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "9.0.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
+ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
+ "core-js": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
+ "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "cosmiconfig": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
+ "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
+ "dev": true,
+ "requires": {
+ "is-directory": "0.3.1",
+ "js-yaml": "3.10.0",
+ "parse-json": "4.0.0",
+ "require-from-string": "2.0.1"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1",
+ "json-parse-better-errors": "1.0.1"
+ }
+ }
+ }
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
+ },
+ "cryptiles": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
+ "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
+ "dev": true,
+ "requires": {
+ "boom": "5.2.0"
+ }
+ },
+ "cssom": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz",
+ "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=",
+ "dev": true
+ },
+ "cssstyle": {
+ "version": "0.2.37",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz",
+ "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=",
+ "dev": true,
+ "requires": {
+ "cssom": "0.3.2"
+ }
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "1.0.2"
+ }
+ },
+ "cvss": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cvss/-/cvss-1.0.2.tgz",
+ "integrity": "sha1-32fpK/EqeW9J6Sh5nI2zunS5/NY=",
+ "dev": true
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+ "dev": true
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decamelize-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "dev": true,
+ "requires": {
+ "decamelize": "1.2.0",
+ "map-obj": "1.0.1"
+ },
+ "dependencies": {
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ }
+ }
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "deep-extend": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz",
+ "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8=",
+ "dev": true
+ },
+ "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=",
+ "dev": true
+ },
+ "deepmerge": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
+ "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==",
+ "dev": true
+ },
+ "default-require-extensions": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
+ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
+ "dev": true,
+ "requires": {
+ "strip-bom": "2.0.0"
+ },
+ "dependencies": {
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
+ }
+ }
+ },
+ "define-properties": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
+ "dev": true,
+ "requires": {
+ "foreach": "2.0.5",
+ "object-keys": "1.0.11"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2",
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "del": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+ "dev": true,
+ "requires": {
+ "globby": "5.0.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.0",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "rimraf": "2.6.2"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ },
+ "detect-newline": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+ "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
+ "dev": true
+ },
+ "diacritics-map": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz",
+ "integrity": "sha1-bfwP+dAQAKLt8oZTccrDFulJd68="
+ },
+ "diff": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
+ "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==",
+ "dev": true
+ },
+ "dir-glob": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
+ "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "path-type": "3.0.0"
+ },
+ "dependencies": {
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2"
+ }
+ },
+ "domexception": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+ "dev": true,
+ "requires": {
+ "webidl-conversions": "4.0.2"
+ }
+ },
+ "dot-prop": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
+ "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
+ "dev": true,
+ "requires": {
+ "is-obj": "1.0.1"
+ }
+ },
+ "duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.4"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "ensure-posix-path": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz",
+ "integrity": "sha1-pls+QtC3HPxYXrd0+ZQ8jZuRsMI="
+ },
+ "env-ci": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-1.4.2.tgz",
+ "integrity": "sha512-QVbZtQy1kfdp7QnFMYfffgF1CeUwfCkhlIzuWxpI5J5tr30B59uvcagM3Dyqx1knKTDaTAcLvJrKgARB8akocg==",
+ "dev": true,
+ "requires": {
+ "execa": "0.10.0",
+ "java-properties": "0.2.10"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "1.0.4",
+ "path-key": "2.0.1",
+ "semver": "5.5.0",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
+ },
+ "execa": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
+ "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "6.0.5",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ }
+ }
+ }
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz",
+ "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "1.1.1",
+ "function-bind": "1.1.1",
+ "has": "1.0.1",
+ "is-callable": "1.1.3",
+ "is-regex": "1.0.4"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
+ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
+ "dev": true,
+ "requires": {
+ "is-callable": "1.1.3",
+ "is-date-object": "1.0.1",
+ "is-symbol": "1.0.1"
+ }
+ },
+ "es6-promise": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
+ "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==",
+ "dev": true
+ },
+ "es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+ "dev": true,
+ "requires": {
+ "es6-promise": "4.2.4"
+ }
+ },
+ "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.9.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz",
+ "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==",
+ "dev": true,
+ "requires": {
+ "esprima": "3.1.3",
+ "estraverse": "4.2.0",
+ "esutils": "2.0.2",
+ "optionator": "0.8.2",
+ "source-map": "0.5.7"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
+ "dev": true
+ },
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ }
+ }
+ },
+ "eslint": {
+ "version": "4.19.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.0.tgz",
+ "integrity": "sha512-r83L5CuqaocDvfwdojbz68b6tCUk8KJkqfppO+gmSAQqYCzTr0bCSMu6A6yFCLKG65j5eKcKUw4Cw4Yl4gfWkg==",
+ "dev": true,
+ "requires": {
+ "ajv": "5.5.2",
+ "babel-code-frame": "6.26.0",
+ "chalk": "2.3.2",
+ "concat-stream": "1.6.0",
+ "cross-spawn": "5.1.0",
+ "debug": "3.1.0",
+ "doctrine": "2.1.0",
+ "eslint-scope": "3.7.1",
+ "eslint-visitor-keys": "1.0.0",
+ "espree": "3.5.4",
+ "esquery": "1.0.0",
+ "esutils": "2.0.2",
+ "file-entry-cache": "2.0.0",
+ "functional-red-black-tree": "1.0.1",
+ "glob": "7.1.2",
+ "globals": "11.3.0",
+ "ignore": "3.3.7",
+ "imurmurhash": "0.1.4",
+ "inquirer": "3.3.0",
+ "is-resolvable": "1.1.0",
+ "js-yaml": "3.10.0",
+ "json-stable-stringify-without-jsonify": "1.0.1",
+ "levn": "0.3.0",
+ "lodash": "4.17.5",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "natural-compare": "1.4.0",
+ "optionator": "0.8.2",
+ "path-is-inside": "1.0.2",
+ "pluralize": "7.0.0",
+ "progress": "2.0.0",
+ "regexpp": "1.0.1",
+ "require-uncached": "1.0.3",
+ "semver": "5.5.0",
+ "strip-ansi": "4.0.0",
+ "strip-json-comments": "2.0.1",
+ "table": "4.0.2",
+ "text-table": "0.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
+ },
+ "ajv-keywords": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
+ "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
+ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.3.0"
+ }
+ },
+ "globals": {
+ "version": "11.3.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz",
+ "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
+ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ },
+ "table": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
+ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
+ "dev": true,
+ "requires": {
+ "ajv": "5.5.2",
+ "ajv-keywords": "2.1.1",
+ "chalk": "2.3.2",
+ "lodash": "4.17.5",
+ "slice-ansi": "1.0.0",
+ "string-width": "2.1.1"
+ }
+ }
+ }
+ },
+ "eslint-ast-utils": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz",
+ "integrity": "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==",
+ "dev": true,
+ "requires": {
+ "lodash.get": "4.4.2",
+ "lodash.zip": "4.2.0"
+ }
+ },
+ "eslint-config-standard": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz",
+ "integrity": "sha512-oDdENzpViEe5fwuRCWla7AXQd++/oyIp8zP+iP9jiUPG6NBj3SHgdgtl/kTn00AjeN+1HNvavTKmYbMo+xMOlw==",
+ "dev": true
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
+ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "resolve": "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==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "resolve": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
+ "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
+ "dev": true,
+ "requires": {
+ "path-parse": "1.0.5"
+ }
+ }
+ }
+ },
+ "eslint-module-utils": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz",
+ "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "pkg-dir": "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==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "pkg-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
+ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2"
+ }
+ }
+ }
+ },
+ "eslint-plugin-import": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz",
+ "integrity": "sha1-JgAu+/ylmJtyiKwEdQi9JPIXsWk=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1",
+ "contains-path": "0.1.0",
+ "debug": "2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "0.3.2",
+ "eslint-module-utils": "2.1.1",
+ "has": "1.0.1",
+ "lodash": "4.17.5",
+ "minimatch": "3.0.4",
+ "read-pkg-up": "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==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2",
+ "isarray": "1.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-jsdoc": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-3.5.0.tgz",
+ "integrity": "sha512-qoNpVicVWGjGBXAJsqRoqVuAnajgX7PWtSa2Men36XKRiXe3RS/QmRv215PXZwo4OHskYOsUoJUeiPiWtS9ULA==",
+ "dev": true,
+ "requires": {
+ "comment-parser": "0.4.2",
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-node": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz",
+ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==",
+ "dev": true,
+ "requires": {
+ "ignore": "3.3.7",
+ "minimatch": "3.0.4",
+ "resolve": "1.5.0",
+ "semver": "5.5.0"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
+ "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
+ "dev": true,
+ "requires": {
+ "path-parse": "1.0.5"
+ }
+ }
+ }
+ },
+ "eslint-plugin-promise": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.7.0.tgz",
+ "integrity": "sha512-2WO+ZFh7vxUKRfR0cOIMrWgYKdR6S1AlOezw6pC52B6oYpd5WFghN+QHxvrRdZMtbo8h3dfUZ2o1rWb0UPbKtg==",
+ "dev": true
+ },
+ "eslint-plugin-security": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.4.0.tgz",
+ "integrity": "sha512-xlS7P2PLMXeqfhyf3NpqbvbnW04kN8M9NtmhpR3XGyOvt/vNKS7XPXT5EDbwKW9vCjWH4PpfQvgD/+JgN0VJKA==",
+ "dev": true,
+ "requires": {
+ "safe-regex": "1.1.0"
+ }
+ },
+ "eslint-plugin-standard": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz",
+ "integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=",
+ "dev": true
+ },
+ "eslint-plugin-unicorn": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-4.0.2.tgz",
+ "integrity": "sha512-oWe43NRm9YhzYQyrRyLIxndQ+NJUNWGodv0PYEd60tTKJiD3EpEnPhtt+xqs4vkWF6uP/M+VgawJaPf/wldleA==",
+ "dev": true,
+ "requires": {
+ "clean-regexp": "1.0.0",
+ "eslint-ast-utils": "1.1.0",
+ "import-modules": "1.1.0",
+ "lodash.camelcase": "4.3.0",
+ "lodash.kebabcase": "4.1.1",
+ "lodash.snakecase": "4.1.1",
+ "lodash.upperfirst": "4.3.1",
+ "safe-regex": "1.1.0"
+ }
+ },
+ "eslint-plugin-xss": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-xss/-/eslint-plugin-xss-0.1.9.tgz",
+ "integrity": "sha512-haR//GV2FQ9wgmSB6CTInPLDjKlpoDonH1Yi5GGNQVhFEH/nRZlkqJA5VfphJAAy/4zQighz1zuImrbRuSKAdQ==",
+ "dev": true,
+ "requires": {
+ "requireindex": "1.1.0"
+ }
+ },
+ "eslint-scope": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
+ "dev": true,
+ "requires": {
+ "esrecurse": "4.2.1",
+ "estraverse": "4.2.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ }
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+ "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
+ "dev": true
+ },
+ "espree": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
+ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
+ "dev": true,
+ "requires": {
+ "acorn": "5.5.3",
+ "acorn-jsx": "3.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz",
+ "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==",
+ "dev": true
+ }
+ }
+ },
+ "esprima": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw=="
+ },
+ "esquery": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
+ "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=",
+ "dev": true,
+ "requires": {
+ "estraverse": "4.2.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ }
+ }
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "4.2.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ }
+ }
+ },
+ "estraverse": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz",
+ "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "exec-sh": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz",
+ "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==",
+ "dev": true,
+ "requires": {
+ "merge": "1.2.0"
+ }
+ },
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "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=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "requires": {
+ "fill-range": "2.2.3"
+ }
+ },
+ "expect": {
+ "version": "22.4.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-22.4.0.tgz",
+ "integrity": "sha512-Fiy862jT3qc70hwIHwwCBNISmaqBrfWKKrtqyMJ6iwZr+6KXtcnHojZFtd63TPRvRl8EQTJ+YXYy2lK6/6u+Hw==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "jest-diff": "22.4.0",
+ "jest-get-type": "22.1.0",
+ "jest-matcher-utils": "22.4.0",
+ "jest-message-util": "22.4.0",
+ "jest-regex-util": "22.1.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+ "dev": true
+ },
+ "extend-object": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/extend-object/-/extend-object-1.0.0.tgz",
+ "integrity": "sha1-QlFPhAFdE1bK9Rh5ad+yvBvaCCM=",
+ "dev": true
+ },
+ "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.1"
+ }
+ },
+ "external-editor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz",
+ "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==",
+ "dev": true,
+ "requires": {
+ "chardet": "0.4.2",
+ "iconv-lite": "0.4.19",
+ "tmp": "0.0.33"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
+ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8="
+ },
+ "fast-glob": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.0.tgz",
+ "integrity": "sha512-4F75PTznkNtSKs2pbhtBwRkw8sRwa7LfXx5XaQJOe4IQ6yTjceLDTwM5gj1s80R2t/5WeDC1gVfm3jLE+l39Tw==",
+ "dev": true,
+ "requires": {
+ "@mrmlnc/readdir-enhanced": "2.2.1",
+ "glob-parent": "3.1.0",
+ "is-glob": "4.0.0",
+ "merge2": "1.2.1",
+ "micromatch": "3.1.9"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "braces": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz",
+ "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0",
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "extend-shallow": "2.0.1",
+ "fill-range": "4.0.0",
+ "isobject": "3.0.1",
+ "kind-of": "6.0.2",
+ "repeat-element": "1.1.2",
+ "snapdragon": "0.8.2",
+ "snapdragon-node": "2.1.1",
+ "split-string": "3.1.0",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "posix-character-classes": "0.1.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "expand-brackets": "2.1.4",
+ "extend-shallow": "2.0.1",
+ "fragment-cache": "0.2.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1",
+ "to-regex-range": "2.1.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "3.1.0",
+ "path-dirname": "1.0.2"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
+ }
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz",
+ "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "braces": "2.3.1",
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "extglob": "2.0.4",
+ "fragment-cache": "0.2.1",
+ "kind-of": "6.0.2",
+ "nanomatch": "1.2.9",
+ "object.pick": "1.3.0",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ }
+ }
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "fb-watchman": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
+ "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
+ "dev": true,
+ "requires": {
+ "bser": "2.0.0"
+ }
+ },
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5"
+ }
+ },
+ "file-entry-cache": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "1.3.0",
+ "object-assign": "4.1.1"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "fileset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
+ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "minimatch": "3.0.4"
+ }
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "find": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/find/-/find-0.1.7.tgz",
+ "integrity": "sha1-yGyHrxqxjyIrvjjeyGy8dg0Wpvs=",
+ "requires": {
+ "traverse-chain": "0.1.0"
+ }
+ },
+ "find-in-files": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/find-in-files/-/find-in-files-0.4.0.tgz",
+ "integrity": "sha1-nNS2ejRZxUOB9Wzi8daTFq17sBE=",
+ "requires": {
+ "find": "0.1.7",
+ "q": "1.5.1"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "2.0.0"
+ }
+ },
+ "findup": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz",
+ "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=",
+ "dev": true,
+ "requires": {
+ "colors": "0.6.2",
+ "commander": "2.1.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz",
+ "integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=",
+ "dev": true
+ }
+ }
+ },
+ "fixpack": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/fixpack/-/fixpack-2.3.1.tgz",
+ "integrity": "sha1-U/A9iKq31RIyWSgvAIipo7GYNsI=",
+ "dev": true,
+ "requires": {
+ "alce": "1.0.0",
+ "colors": "0.6.2",
+ "extend-object": "1.0.0",
+ "rc": "0.6.0"
+ }
+ },
+ "flat-cache": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
+ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
+ "dev": true,
+ "requires": {
+ "circular-json": "0.3.3",
+ "del": "2.2.2",
+ "graceful-fs": "4.1.11",
+ "write": "0.2.1"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ },
+ "foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true
+ },
+ "foreachasync": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz",
+ "integrity": "sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY="
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
+ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+ "dev": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "2.1.18"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "0.2.2"
+ }
+ },
+ "from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.4"
+ }
+ },
+ "fs-extra": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz",
+ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "4.0.0",
+ "universalify": "0.1.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
+ "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "2.9.2",
+ "node-pre-gyp": "0.6.39"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ajv": {
+ "version": "4.11.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "aproba": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.2.9"
+ }
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "balanced-match": {
+ "version": "0.4.2",
+ "bundled": true,
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "block-stream": {
+ "version": "0.0.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "boom": {
+ "version": "2.10.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.7",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "0.4.2",
+ "concat-map": "0.0.1"
+ }
+ },
+ "buffer-shims": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "co": {
+ "version": "4.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "boom": "2.10.1"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "extsprintf": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.15"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "inherits": "2.0.3",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.1"
+ }
+ },
+ "fstream-ignore": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "fstream": "1.0.11",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4"
+ }
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aproba": "1.1.1",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ }
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "bundled": true,
+ "dev": true
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "bundled": true,
+ "dev": true
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.0",
+ "sshpk": "1.13.0"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "jodid25519": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "jsprim": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.0.2",
+ "json-schema": "0.2.3",
+ "verror": "1.3.6"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "mime-db": {
+ "version": "1.27.0",
+ "bundled": true,
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.15",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "mime-db": "1.27.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "node-pre-gyp": {
+ "version": "0.6.39",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "1.0.2",
+ "hawk": "3.1.3",
+ "mkdirp": "0.5.1",
+ "nopt": "4.0.1",
+ "npmlog": "4.1.0",
+ "rc": "1.2.1",
+ "request": "2.81.0",
+ "rimraf": "2.6.1",
+ "semver": "5.3.0",
+ "tar": "2.2.1",
+ "tar-pack": "3.4.0"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1.1.0",
+ "osenv": "0.1.4"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "bundled": true,
+ "dev": true
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "qs": {
+ "version": "6.4.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.4",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.2.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "buffer-shims": "1.0.0",
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "request": {
+ "version": "2.81.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.15",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.0.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "semver": {
+ "version": "5.3.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "sshpk": {
+ "version": "1.13.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jodid25519": "1.0.2",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.0.1"
+ }
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "2.2.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "block-stream": "0.0.9",
+ "fstream": "1.0.11",
+ "inherits": "2.0.3"
+ }
+ },
+ "tar-pack": {
+ "version": "3.4.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "debug": "2.6.8",
+ "fstream": "1.0.11",
+ "fstream-ignore": "1.0.5",
+ "once": "1.4.0",
+ "readable-stream": "2.2.9",
+ "rimraf": "2.6.1",
+ "tar": "2.2.1",
+ "uid-number": "0.0.6"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.3.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "uid-number": {
+ "version": "0.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "verror": {
+ "version": "1.3.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "extsprintf": "1.0.2"
+ }
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "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=",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "git-log-parser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz",
+ "integrity": "sha1-LmpMGxP8AAKCB7p5WnrDFme5/Uo=",
+ "dev": true,
+ "requires": {
+ "argv-formatter": "1.0.0",
+ "spawn-error-forwarder": "1.0.0",
+ "split2": "1.0.0",
+ "stream-combiner2": "1.1.1",
+ "through2": "2.0.3",
+ "traverse": "0.6.6"
+ },
+ "dependencies": {
+ "split2": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz",
+ "integrity": "sha1-UuLiIdiMdfmnP5BVbiY/+WdysxQ=",
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3"
+ }
+ }
+ }
+ },
+ "git-tools": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/git-tools/-/git-tools-0.2.1.tgz",
+ "integrity": "sha1-bhhGrywOkatZJYtI+bU8EnmzsnM=",
+ "dev": true,
+ "requires": {
+ "spawnback": "1.0.0"
+ }
+ },
+ "git-up": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz",
+ "integrity": "sha512-2v4UN3qV2RGypD9QpmUjpk+4+RlYpW8GFuiZqQnKmvei08HsFPd0RfbDvEhnE4wBvnYs8ORVtYpOFuuCEmBVBw==",
+ "dev": true,
+ "requires": {
+ "is-ssh": "1.3.0",
+ "parse-url": "1.3.11"
+ }
+ },
+ "git-url-parse": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-8.2.0.tgz",
+ "integrity": "sha512-Jp5Jv0qZfoP5vFeDu7SGxVXYEFCZD+nvLeX3sbI/zRKg5NTRamQfAHoishk9d4kp4TrSopVtyUY57XclJdkRGA==",
+ "dev": true,
+ "requires": {
+ "git-up": "2.0.10"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
+ },
+ "glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "dev": true
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true
+ },
+ "globby": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "dev": true,
+ "requires": {
+ "array-union": "1.0.2",
+ "arrify": "1.0.1",
+ "glob": "7.1.2",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "gray-matter": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz",
+ "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=",
+ "requires": {
+ "ansi-red": "0.1.1",
+ "coffee-script": "1.12.7",
+ "extend-shallow": "2.0.1",
+ "js-yaml": "3.10.0",
+ "toml": "2.3.3"
+ }
+ },
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+ "dev": true
+ },
+ "handlebars": {
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
+ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
+ "dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "optimist": "0.6.1",
+ "source-map": "0.4.4",
+ "uglify-js": "2.8.29"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ }
+ }
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
+ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+ "dev": true,
+ "requires": {
+ "ajv": "5.5.2",
+ "har-schema": "2.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
+ }
+ }
+ },
+ "has": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+ "dev": true,
+ "requires": {
+ "function-bind": "1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "2.0.6",
+ "has-values": "1.0.0",
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "hawk": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
+ "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==",
+ "dev": true,
+ "requires": {
+ "boom": "4.3.1",
+ "cryptiles": "3.1.2",
+ "hoek": "4.2.1",
+ "sntp": "2.1.0"
+ },
+ "dependencies": {
+ "boom": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
+ "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
+ "dev": true,
+ "requires": {
+ "hoek": "4.2.1"
+ }
+ }
+ }
+ },
+ "hoek": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
+ "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==",
+ "dev": true
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "hook-std": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-0.4.0.tgz",
+ "integrity": "sha1-+osvhNNYdjE3y30X4zCLKHFL0XQ=",
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
+ "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
+ "dev": true
+ },
+ "html-encoding-sniffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+ "dev": true,
+ "requires": {
+ "whatwg-encoding": "1.0.3"
+ }
+ },
+ "http-basic": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-2.5.1.tgz",
+ "integrity": "sha1-jORHvbW2xXf4pj4/p4BW7Eu02/s=",
+ "dev": true,
+ "requires": {
+ "caseless": "0.11.0",
+ "concat-stream": "1.6.0",
+ "http-response-object": "1.1.0"
+ }
+ },
+ "http-proxy-agent": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
+ "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
+ "dev": true,
+ "requires": {
+ "agent-base": "4.2.0",
+ "debug": "3.1.0"
+ }
+ },
+ "http-response-object": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-1.1.0.tgz",
+ "integrity": "sha1-p8TnWq6C87tJBOT0P2FWc7TVGMM=",
+ "dev": true
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.13.1"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.1.1.tgz",
+ "integrity": "sha512-LK6tQUR/VOkTI6ygAfWUKKP95I+e6M1h7N3PncGu1CATHCnex+CAv9ttR0lbHu1Uk2PXm/WoAHFo6JCGwMjVMw==",
+ "dev": true,
+ "requires": {
+ "agent-base": "4.2.0",
+ "debug": "3.1.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.19",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
+ "dev": true
+ },
+ "ignore": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
+ "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==",
+ "dev": true
+ },
+ "import-from": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
+ "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
+ "dev": true,
+ "requires": {
+ "resolve-from": "3.0.0"
+ }
+ },
+ "import-local": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
+ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "2.0.0",
+ "resolve-cwd": "2.0.0"
+ }
+ },
+ "import-modules": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-1.1.0.tgz",
+ "integrity": "sha1-dI23nFzEK7lwHvq0JPiU5yYA6dw=",
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
+ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "3.0.0",
+ "chalk": "2.3.1",
+ "cli-cursor": "2.1.0",
+ "cli-width": "2.2.0",
+ "external-editor": "2.1.0",
+ "figures": "2.0.0",
+ "lodash": "4.17.5",
+ "mute-stream": "0.0.7",
+ "run-async": "2.3.0",
+ "rx-lite": "4.0.8",
+ "rx-lite-aggregates": "4.0.8",
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "through": "2.3.8"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.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=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "into-stream": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
+ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
+ "dev": true,
+ "requires": {
+ "from2": "2.3.0",
+ "p-is-promise": "1.1.0"
+ }
+ },
+ "invariant": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz",
+ "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "is-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==",
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1"
+ }
+ },
+ "is-callable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
+ "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz",
+ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==",
+ "dev": true,
+ "requires": {
+ "ci-info": "1.1.2"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "1.0.0",
+ "is-data-descriptor": "1.0.0",
+ "kind-of": "6.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "is-directory": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+ "dev": true
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
+ },
+ "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": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-generator-fn": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz",
+ "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "is-local-path": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-local-path/-/is-local-path-0.1.6.tgz",
+ "integrity": "sha1-gV0USxTVac7L6tTVaTCX8Aqb9sU=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-odd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
+ "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ }
+ }
+ },
+ "is-path-cwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+ "dev": true
+ },
+ "is-path-in-cwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
+ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
+ "dev": true,
+ "requires": {
+ "is-path-inside": "1.0.1"
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "dev": true,
+ "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=",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "requires": {
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+ }
+ }
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1"
+ }
+ },
+ "is-resolvable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+ "dev": true
+ },
+ "is-ssh": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
+ "integrity": "sha1-6+oRaaJhTaOSpjdANmw84EnY3/Y=",
+ "dev": true,
+ "requires": {
+ "protocols": "1.4.6"
+ }
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-subset": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
+ "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
+ "dev": true
+ },
+ "is-symbol": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
+ "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
+ "dev": true
+ },
+ "is-text-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
+ "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=",
+ "dev": true,
+ "requires": {
+ "text-extensions": "1.7.0"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "issue-parser": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-1.0.3.tgz",
+ "integrity": "sha512-jJeDfplV9Y3ZQIKodmu1aB8X8oNusb8PCL6iK9Z0umJWnmvvu1NJZ2aWitJlEmYOdJOLhcKcFirDX6z/nECNvQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "istanbul-api": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.2.tgz",
+ "integrity": "sha512-kH5YRdqdbs5hiH4/Rr1Q0cSAGgjh3jTtg8vu9NLebBAoK3adVO4jk81J+TYOkTr2+Q4NLeb1ACvmEt65iG/Vbw==",
+ "dev": true,
+ "requires": {
+ "async": "2.6.0",
+ "fileset": "2.0.3",
+ "istanbul-lib-coverage": "1.1.2",
+ "istanbul-lib-hook": "1.1.0",
+ "istanbul-lib-instrument": "1.9.2",
+ "istanbul-lib-report": "1.1.3",
+ "istanbul-lib-source-maps": "1.2.3",
+ "istanbul-reports": "1.1.4",
+ "js-yaml": "3.10.0",
+ "mkdirp": "0.5.1",
+ "once": "1.4.0"
+ }
+ },
+ "istanbul-lib-coverage": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
+ "integrity": "sha512-tZYA0v5A7qBSsOzcebJJ/z3lk3oSzH62puG78DbBA1+zupipX2CakDyiPV3pOb8He+jBwVimuwB0dTnh38hX0w==",
+ "dev": true
+ },
+ "istanbul-lib-hook": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz",
+ "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==",
+ "dev": true,
+ "requires": {
+ "append-transform": "0.4.0"
+ }
+ },
+ "istanbul-lib-instrument": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz",
+ "integrity": "sha512-nz8t4HQ2206a/3AXi+NHFWEa844DMpPsgbcUteJbt1j8LX1xg56H9rOMnhvcvVvPbW60qAIyrSk44H8ZDqaSSA==",
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.26.1",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "istanbul-lib-coverage": "1.1.2",
+ "semver": "5.5.0"
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz",
+ "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==",
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "1.1.2",
+ "mkdirp": "0.5.1",
+ "path-parse": "1.0.5",
+ "supports-color": "3.2.3"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz",
+ "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==",
+ "dev": true,
+ "requires": {
+ "debug": "3.1.0",
+ "istanbul-lib-coverage": "1.1.2",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2",
+ "source-map": "0.5.7"
+ }
+ },
+ "istanbul-reports": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.4.tgz",
+ "integrity": "sha512-DfSTVOTkuO+kRmbO8Gk650Wqm1WRGr6lrdi2EwDK1vxpS71vdlLd613EpzOKdIFioB5f/scJTjeWBnvd1FWejg==",
+ "dev": true,
+ "requires": {
+ "handlebars": "4.0.11"
+ }
+ },
+ "java-properties": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-0.2.10.tgz",
+ "integrity": "sha512-CpKJh9VRNhS+XqZtg1UMejETGEiqwCGDC/uwPEEQwc2nfdbSm73SIE29TplG2gLYuBOOTNDqxzG6A9NtEPLt0w==",
+ "dev": true
+ },
+ "jest": {
+ "version": "22.4.2",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-22.4.2.tgz",
+ "integrity": "sha512-wD7dXWtfaQAgbNVsjFqzmuhg6nzwGsTRVea3FpSJ7GURhG+J536fw4mdoLB01DgiEozDDeF1ZMR/UlUszTsCrg==",
+ "dev": true,
+ "requires": {
+ "import-local": "1.0.0",
+ "jest-cli": "22.4.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "cliui": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz",
+ "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==",
+ "dev": true,
+ "requires": {
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "wrap-ansi": "2.1.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=",
+ "dev": true
+ },
+ "jest-cli": {
+ "version": "22.4.2",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-22.4.2.tgz",
+ "integrity": "sha512-ebo6ZWK2xDSs7LGnLvM16SZOIJ2dj0B6/oERmGcal32NHkks450nNfGrGTyOSPgJDgH8DFhVdBXgSamN7mtZ0Q==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "3.0.0",
+ "chalk": "2.3.1",
+ "exit": "0.1.2",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "import-local": "1.0.0",
+ "is-ci": "1.1.0",
+ "istanbul-api": "1.2.2",
+ "istanbul-lib-coverage": "1.1.2",
+ "istanbul-lib-instrument": "1.9.2",
+ "istanbul-lib-source-maps": "1.2.3",
+ "jest-changed-files": "22.2.0",
+ "jest-config": "22.4.2",
+ "jest-environment-jsdom": "22.4.1",
+ "jest-get-type": "22.1.0",
+ "jest-haste-map": "22.4.2",
+ "jest-message-util": "22.4.0",
+ "jest-regex-util": "22.1.0",
+ "jest-resolve-dependencies": "22.1.0",
+ "jest-runner": "22.4.2",
+ "jest-runtime": "22.4.2",
+ "jest-snapshot": "22.4.0",
+ "jest-util": "22.4.1",
+ "jest-validate": "22.4.2",
+ "jest-worker": "22.2.2",
+ "micromatch": "2.3.11",
+ "node-notifier": "5.2.1",
+ "realpath-native": "1.0.0",
+ "rimraf": "2.6.2",
+ "slash": "1.0.0",
+ "string-length": "2.0.0",
+ "strip-ansi": "4.0.0",
+ "which": "1.3.0",
+ "yargs": "10.1.2"
+ }
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ },
+ "yargs": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz",
+ "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==",
+ "dev": true,
+ "requires": {
+ "cliui": "4.0.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "8.1.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz",
+ "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
+ "jest-changed-files": {
+ "version": "22.2.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.2.0.tgz",
+ "integrity": "sha512-SzqOvoPMrXB0NPvDrSPeKETpoUNCtNDOsFbCzAGWxqWVvNyrIMLpUjVExT3u3LfdVrENlrNGCfh5YoFd8+ZeXg==",
+ "dev": true,
+ "requires": {
+ "throat": "4.1.0"
+ }
+ },
+ "jest-config": {
+ "version": "22.4.2",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-22.4.2.tgz",
+ "integrity": "sha512-oG31qYO73/3vj/Q8aM2RgzmHndTkz9nRk8ISybfuJqqbf0RW7OUjHVOZPLOUiwLWtz52Yq2HkjIblsyhbA7vrg==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.1",
+ "glob": "7.1.2",
+ "jest-environment-jsdom": "22.4.1",
+ "jest-environment-node": "22.4.1",
+ "jest-get-type": "22.1.0",
+ "jest-jasmine2": "22.4.2",
+ "jest-regex-util": "22.1.0",
+ "jest-resolve": "22.4.2",
+ "jest-util": "22.4.1",
+ "jest-validate": "22.4.2",
+ "pretty-format": "22.4.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-diff": {
+ "version": "22.4.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.0.tgz",
+ "integrity": "sha512-+/t20WmnkOkB8MOaGaPziI8zWKxquMvYw4Ub+wOzi7AUhmpFXz43buWSxVoZo4J5RnCozpGbX3/FssjJ5KV9Nw==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.1",
+ "diff": "3.4.0",
+ "jest-get-type": "22.1.0",
+ "pretty-format": "22.4.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-docblock": {
+ "version": "22.4.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-22.4.0.tgz",
+ "integrity": "sha512-lDY7GZ+/CJb02oULYLBDj7Hs5shBhVpDYpIm8LUyqw9X2J22QRsM19gmGQwIFqGSJmpc/LRrSYudeSrG510xlQ==",
+ "dev": true,
+ "requires": {
+ "detect-newline": "2.1.0"
+ }
+ },
+ "jest-environment-jsdom": {
+ "version": "22.4.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.1.tgz",
+ "integrity": "sha512-x/JzAoH+dWPBnIMv5OQKiIR0TYf6UvbRjsIuDZ11yDFXkHKGJZg6jNnLAsokAm3cq9kUa2hH5BPUC9XU4n1ELQ==",
+ "dev": true,
+ "requires": {
+ "jest-mock": "22.2.0",
+ "jest-util": "22.4.1",
+ "jsdom": "11.6.2"
+ }
+ },
+ "jest-environment-node": {
+ "version": "22.4.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-22.4.1.tgz",
+ "integrity": "sha512-wj9+zzfRgnUbm5VwFOCGgG1QmbucUyrjPKBKUJdLW8K5Ss5zrNc1k+v6feZhFg6sS3ZGnjgtIyklaxEARxu+LQ==",
+ "dev": true,
+ "requires": {
+ "jest-mock": "22.2.0",
+ "jest-util": "22.4.1"
+ }
+ },
+ "jest-get-type": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.1.0.tgz",
+ "integrity": "sha512-nD97IVOlNP6fjIN5i7j5XRH+hFsHL7VlauBbzRvueaaUe70uohrkz7pL/N8lx/IAwZRTJ//wOdVgh85OgM7g3w==",
+ "dev": true
+ },
+ "jest-haste-map": {
+ "version": "22.4.2",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.4.2.tgz",
+ "integrity": "sha512-EdQADHGXRqHJYAr7q9B9YYHZnrlcMwhx1+DnIgc9uN05nCW3RvGCxJ91MqWXcC1AzatLoSv7SNd0qXMp2jKBDA==",
+ "dev": true,
+ "requires": {
+ "fb-watchman": "2.0.0",
+ "graceful-fs": "4.1.11",
+ "jest-docblock": "22.4.0",
+ "jest-serializer": "22.4.0",
+ "jest-worker": "22.2.2",
+ "micromatch": "2.3.11",
+ "sane": "2.4.1"
+ }
+ },
+ "jest-jasmine2": {
+ "version": "22.4.2",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-22.4.2.tgz",
+ "integrity": "sha512-KZaIHpXQ0AIlvQJFCU0uoXxtz5GG47X14r9upMe7VXE55UazoMZBFnQb9TX2HoYX2/AxJYnjHuvwKVCFqOrEtw==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.1",
+ "co": "4.6.0",
+ "expect": "22.4.0",
+ "graceful-fs": "4.1.11",
+ "is-generator-fn": "1.0.0",
+ "jest-diff": "22.4.0",
+ "jest-matcher-utils": "22.4.0",
+ "jest-message-util": "22.4.0",
+ "jest-snapshot": "22.4.0",
+ "jest-util": "22.4.1",
+ "source-map-support": "0.5.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-leak-detector": {
+ "version": "22.4.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.0.tgz",
+ "integrity": "sha512-r3NEIVNh4X3fEeJtUIrKXWKhNokwUM2ILp5LD8w1KrEanPsFtZmYjmyZYjDTX2dXYr33TW65OvbRE3hWFAyq6g==",
+ "dev": true,
+ "requires": {
+ "pretty-format": "22.4.0"
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "22.4.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.0.tgz",
+ "integrity": "sha512-03m3issxUXpWMwDYTfmL8hRNewUB0yCRTeXPm+eq058rZxLHD9f5NtSSO98CWHqe4UyISIxd9Ao9iDVjHWd2qg==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.1",
+ "jest-get-type": "22.1.0",
+ "pretty-format": "22.4.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-message-util": {
+ "version": "22.4.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.0.tgz",
+ "integrity": "sha512-eyCJB0T3hrlpFF2FqQoIB093OulP+1qvATQmD3IOgJgMGqPL6eYw8TbC5P/VCWPqKhGL51xvjIIhow5eZ2wHFw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.0.0-beta.40",
+ "chalk": "2.3.1",
+ "micromatch": "2.3.11",
+ "slash": "1.0.0",
+ "stack-utils": "1.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-mock": {
+ "version": "22.2.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-22.2.0.tgz",
+ "integrity": "sha512-eOfoUYLOB/JlxChOFkh/bzpWGqUXb9I+oOpkprHHs9L7nUNfL8Rk28h1ycWrqzWCEQ/jZBg/xIv7VdQkfAkOhw==",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.1.0.tgz",
+ "integrity": "sha512-on0LqVS6Xeh69sw3d1RukVnur+lVOl3zkmb0Q54FHj9wHoq6dbtWqb3TSlnVUyx36hqjJhjgs/QLqs07Bzu72Q==",
+ "dev": true
+ },
+ "jest-resolve": {
+ "version": "22.4.2",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-22.4.2.tgz",
+ "integrity": "sha512-P1hSfcc2HJYT5t+WPu/11OfFMa7m8pBb2Gf2vm6W9OVs7YTXQ5RCC3nDqaYZQaTqxEM1ZZaTcQGcE6U2xMOsqQ==",
+ "dev": true,
+ "requires": {
+ "browser-resolve": "1.11.2",
+ "chalk": "2.3.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-resolve-dependencies": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.1.0.tgz",
+ "integrity": "sha512-76Ll61bD/Sus8wK8d+lw891EtiBJGJkWG8OuVDTEX0z3z2+jPujvQqSB2eQ+kCHyCsRwJ2PSjhn3UHqae/oEtA==",
+ "dev": true,
+ "requires": {
+ "jest-regex-util": "22.1.0"
+ }
+ },
+ "jest-runner": {
+ "version": "22.4.2",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-22.4.2.tgz",
+ "integrity": "sha512-W4vwgiVQS0NyXt8hgpw7i0YUtsfoChiQcoHWBJeq2ocV4VF2osEZx8HYgpH5HfNe1Cb5LZeZWxX8Dr3hesbGFg==",
+ "dev": true,
+ "requires": {
+ "exit": "0.1.2",
+ "jest-config": "22.4.2",
+ "jest-docblock": "22.4.0",
+ "jest-haste-map": "22.4.2",
+ "jest-jasmine2": "22.4.2",
+ "jest-leak-detector": "22.4.0",
+ "jest-message-util": "22.4.0",
+ "jest-runtime": "22.4.2",
+ "jest-util": "22.4.1",
+ "jest-worker": "22.2.2",
+ "throat": "4.1.0"
+ }
+ },
+ "jest-runtime": {
+ "version": "22.4.2",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-22.4.2.tgz",
+ "integrity": "sha512-9/Fxbj99cqxI7o2nTNzevnI38eDBstkwve8ZeaAD/Kz0fbU3i3eRv2QPEmzbmyCyBvUWxCT7BzNLTzTqH1+pyA==",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-jest": "22.4.1",
+ "babel-plugin-istanbul": "4.1.5",
+ "chalk": "2.3.1",
+ "convert-source-map": "1.5.1",
+ "exit": "0.1.2",
+ "graceful-fs": "4.1.11",
+ "jest-config": "22.4.2",
+ "jest-haste-map": "22.4.2",
+ "jest-regex-util": "22.1.0",
+ "jest-resolve": "22.4.2",
+ "jest-util": "22.4.1",
+ "jest-validate": "22.4.2",
+ "json-stable-stringify": "1.0.1",
+ "micromatch": "2.3.11",
+ "realpath-native": "1.0.0",
+ "slash": "1.0.0",
+ "strip-bom": "3.0.0",
+ "write-file-atomic": "2.3.0",
+ "yargs": "10.1.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "cliui": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz",
+ "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==",
+ "dev": true,
+ "requires": {
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "wrap-ansi": "2.1.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=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ },
+ "yargs": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz",
+ "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==",
+ "dev": true,
+ "requires": {
+ "cliui": "4.0.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "8.1.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz",
+ "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
+ "jest-serializer": {
+ "version": "22.4.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-22.4.0.tgz",
+ "integrity": "sha512-dnqde95MiYfdc1ZJpjEiHCRvRGGJHPsZQARJFucEGIaOzxqqS9/tt2WzD/OUSGT6kxaEGLQE92faVJGdoCu+Rw==",
+ "dev": true
+ },
+ "jest-snapshot": {
+ "version": "22.4.0",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.0.tgz",
+ "integrity": "sha512-6Zz4F9G1Nbr93kfm5h3A2+OkE+WGpgJlskYE4iSNN2uYfoTL5b9W6aB9Orpx+ueReHyqmy7HET7Z3EmYlL3hKw==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.1",
+ "jest-diff": "22.4.0",
+ "jest-matcher-utils": "22.4.0",
+ "mkdirp": "0.5.1",
+ "natural-compare": "1.4.0",
+ "pretty-format": "22.4.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-util": {
+ "version": "22.4.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-22.4.1.tgz",
+ "integrity": "sha512-9ySBdJY2qVWpg0OvZbGcFXE2NgwccpZVj384E9bx7brKFc7l5anpqah15mseWcz7FLDk7/N+LyYgqFme7Rez2Q==",
+ "dev": true,
+ "requires": {
+ "callsites": "2.0.0",
+ "chalk": "2.3.1",
+ "graceful-fs": "4.1.11",
+ "is-ci": "1.1.0",
+ "jest-message-util": "22.4.0",
+ "mkdirp": "0.5.1",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-validate": {
+ "version": "22.4.2",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-22.4.2.tgz",
+ "integrity": "sha512-TLOgc/EULFBjMCAqZp5OdVvjxV16DZpfthd/UyPzM6lRmgWluohNVemAdnL3JvugU1s2Q2npcIqtbOtiPjaZ0A==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.1",
+ "jest-config": "22.4.2",
+ "jest-get-type": "22.1.0",
+ "leven": "2.1.0",
+ "pretty-format": "22.4.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-worker": {
+ "version": "22.2.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.2.2.tgz",
+ "integrity": "sha512-ZylDXjrFNt/OP6cUxwJFWwDgazP7hRjtCQbocFHyiwov+04Wm1x5PYzMGNJT53s4nwr0oo9ocYTImS09xOlUnw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "1.0.1"
+ }
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "requires": {
+ "argparse": "1.0.10",
+ "esprima": "4.0.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true,
+ "optional": true
+ },
+ "jsdom": {
+ "version": "11.6.2",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.6.2.tgz",
+ "integrity": "sha512-pAeZhpbSlUp5yQcS6cBQJwkbzmv4tWFaYxHbFVSxzXefqjvtRA851Z5N2P+TguVG9YeUDcgb8pdeVQRJh0XR3Q==",
+ "dev": true,
+ "requires": {
+ "abab": "1.0.4",
+ "acorn": "5.4.1",
+ "acorn-globals": "4.1.0",
+ "array-equal": "1.0.0",
+ "browser-process-hrtime": "0.1.2",
+ "content-type-parser": "1.0.2",
+ "cssom": "0.3.2",
+ "cssstyle": "0.2.37",
+ "domexception": "1.0.1",
+ "escodegen": "1.9.0",
+ "html-encoding-sniffer": "1.0.2",
+ "left-pad": "1.2.0",
+ "nwmatcher": "1.4.3",
+ "parse5": "4.0.0",
+ "pn": "1.1.0",
+ "request": "2.83.0",
+ "request-promise-native": "1.0.5",
+ "sax": "1.2.4",
+ "symbol-tree": "3.2.2",
+ "tough-cookie": "2.3.3",
+ "w3c-hr-time": "1.0.1",
+ "webidl-conversions": "4.0.2",
+ "whatwg-encoding": "1.0.3",
+ "whatwg-url": "6.4.0",
+ "ws": "4.1.0",
+ "xml-name-validator": "3.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz",
+ "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==",
+ "dev": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "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=",
+ "dev": true
+ },
+ "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=",
+ "dev": true
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+ "dev": true
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.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.6"
+ }
+ },
+ "klaw": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
+ },
+ "left-pad": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.2.0.tgz",
+ "integrity": "sha1-0wpzxrggHY99jnlWupYWCHpo4O4=",
+ "dev": true
+ },
+ "leven": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
+ "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2"
+ }
+ },
+ "list-item": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz",
+ "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=",
+ "requires": {
+ "expand-range": "1.8.2",
+ "extend-shallow": "2.0.1",
+ "is-number": "2.1.0",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "2.0.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "dev": true
+ },
+ "lodash.assign": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+ "dev": true
+ },
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
+ "dev": true
+ },
+ "lodash.kebabcase": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
+ "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
+ "dev": true
+ },
+ "lodash.snakecase": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
+ "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=",
+ "dev": true
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
+ "lodash.toarray": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
+ "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=",
+ "dev": true
+ },
+ "lodash.upperfirst": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz",
+ "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=",
+ "dev": true
+ },
+ "lodash.zip": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz",
+ "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=",
+ "dev": true
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true,
+ "requires": {
+ "js-tokens": "3.0.2"
+ }
+ },
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "0.4.1",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "dev": true,
+ "requires": {
+ "tmpl": "1.0.4"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
+ "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "1.0.1"
+ }
+ },
+ "markdown": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz",
+ "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=",
+ "requires": {
+ "nopt": "2.1.2"
+ }
+ },
+ "markdown-link": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz",
+ "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88="
+ },
+ "markdown-magic": {
+ "version": "0.1.21",
+ "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.21.tgz",
+ "integrity": "sha1-ohKYLCPpGb2Ja0cWVotz347xbsA=",
+ "dev": true,
+ "requires": {
+ "commander": "2.14.1",
+ "deepmerge": "1.5.2",
+ "find-up": "2.1.0",
+ "fs-extra": "1.0.0",
+ "globby": "6.1.0",
+ "is-local-path": "0.1.6",
+ "markdown-toc": "1.2.0",
+ "sync-request": "3.0.1"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
+ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "2.4.0",
+ "klaw": "1.3.1"
+ }
+ },
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "dev": true,
+ "requires": {
+ "array-union": "1.0.2",
+ "glob": "7.1.2",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ }
+ }
+ },
+ "markdown-magic-install-command": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/markdown-magic-install-command/-/markdown-magic-install-command-1.3.1.tgz",
+ "integrity": "sha512-xI+YGUPs4LxVlcO8xm9zzGcZSl6WBfJXptSiqQ0EPLljum2C7RCZjZlGc5X+FoB/MHgqDzi2u3Bo9UIB8ppCmQ==",
+ "dev": true,
+ "requires": {
+ "findup": "0.1.5"
+ }
+ },
+ "markdown-toc": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz",
+ "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==",
+ "requires": {
+ "concat-stream": "1.6.0",
+ "diacritics-map": "0.1.0",
+ "gray-matter": "2.1.1",
+ "lazy-cache": "2.0.2",
+ "list-item": "1.1.1",
+ "markdown-link": "0.1.1",
+ "minimist": "1.2.0",
+ "mixin-deep": "1.3.1",
+ "object.pick": "1.3.0",
+ "remarkable": "1.7.1",
+ "repeat-string": "1.6.1",
+ "strip-color": "0.1.0"
+ }
+ },
+ "marked": {
+ "version": "0.3.17",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.17.tgz",
+ "integrity": "sha512-+AKbNsjZl6jFfLPwHhWmGTqE009wTKn3RTmn9K8oUKHrX/abPJjtcRtXpYB/FFrwPJRUA86LX/de3T0knkPCmQ==",
+ "dev": true
+ },
+ "marked-terminal": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-2.0.0.tgz",
+ "integrity": "sha1-Xq9Wi+ZvaGVBr6UqVYKAMQox3i0=",
+ "dev": true,
+ "requires": {
+ "cardinal": "1.0.0",
+ "chalk": "1.1.3",
+ "cli-table": "0.3.1",
+ "lodash.assign": "4.2.0",
+ "node-emoji": "1.8.1"
+ }
+ },
+ "matcher-collection": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.0.5.tgz",
+ "integrity": "sha512-nUCmzKipcJEwYsBVAFh5P+d7JBuhJaW1xs85Hara9xuMLqtCVUrW6DSC0JVIkluxEH2W45nPBM/wjHtBXa/tYA==",
+ "requires": {
+ "minimatch": "3.0.4"
+ }
+ },
+ "mem": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.2.0"
+ }
+ },
+ "meow": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.0.tgz",
+ "integrity": "sha512-Me/kel335m6vMKmEmA6c87Z6DUFW3JqkINRnxkbC+A/PUm0D5Fl2dEBQrPKnqCL9Te/CIa1MUt/0InMJhuC/sw==",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "4.2.0",
+ "decamelize-keys": "1.1.0",
+ "loud-rejection": "1.6.0",
+ "minimist": "1.2.0",
+ "minimist-options": "3.0.2",
+ "normalize-package-data": "2.4.0",
+ "read-pkg-up": "3.0.0",
+ "redent": "2.0.0",
+ "trim-newlines": "2.0.0"
+ },
+ "dependencies": {
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "4.0.0",
+ "pify": "3.0.0",
+ "strip-bom": "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=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1",
+ "json-parse-better-errors": "1.0.1"
+ }
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "4.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "3.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "3.0.0"
+ }
+ }
+ }
+ },
+ "merge": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz",
+ "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=",
+ "dev": true
+ },
+ "merge-stream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.4"
+ }
+ },
+ "merge2": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz",
+ "integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.4"
+ }
+ },
+ "mime": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz",
+ "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.18",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.33.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ },
+ "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.11"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ },
+ "minimist-options": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
+ "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "is-plain-obj": "1.1.0"
+ }
+ },
+ "mixin-deep": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "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.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ }
+ }
+ },
+ "modify-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz",
+ "integrity": "sha1-4rbN65zhn5kxelNyLz2/XfXqqrI=",
+ "dev": true
+ },
+ "moment": {
+ "version": "2.21.0",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz",
+ "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ=="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "mute-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+ "dev": true
+ },
+ "nan": {
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz",
+ "integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==",
+ "dev": true,
+ "optional": true
+ },
+ "nanomatch": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
+ "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "fragment-cache": "0.2.1",
+ "is-odd": "2.0.0",
+ "is-windows": "1.0.2",
+ "kind-of": "6.0.2",
+ "object.pick": "1.3.0",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "nerf-dart": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz",
+ "integrity": "sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo=",
+ "dev": true
+ },
+ "nice-try": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz",
+ "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
+ "dev": true
+ },
+ "node-emoji": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz",
+ "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==",
+ "dev": true,
+ "requires": {
+ "lodash.toarray": "4.4.0"
+ }
+ },
+ "node-fetch": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.1.tgz",
+ "integrity": "sha1-NpynC4L1DIZJYQSmx3bSdPTkotQ=",
+ "dev": true
+ },
+ "node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "dev": true
+ },
+ "node-notifier": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz",
+ "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==",
+ "dev": true,
+ "requires": {
+ "growly": "1.3.0",
+ "semver": "5.5.0",
+ "shellwords": "0.1.1",
+ "which": "1.3.0"
+ }
+ },
+ "nodesecurity-npm-utils": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/nodesecurity-npm-utils/-/nodesecurity-npm-utils-6.0.0.tgz",
+ "integrity": "sha512-NLRle1woNaT2orR6fue2jNqkhxDTktgJj3sZxvR/8kp21pvOY7Gwlx5wvo0H8ZVPqdgd2nE2ADB9wDu5Cl8zNg==",
+ "dev": true
+ },
+ "noms": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz",
+ "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "1.0.34"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "nopt": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz",
+ "integrity": "sha1-bMzZd7gBMqB3MdbozljCyDA8+a8=",
+ "requires": {
+ "abbrev": "1.1.1"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.5.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.5.0",
+ "validate-npm-package-license": "3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "1.1.0"
+ }
+ },
+ "normalize-url": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz",
+ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
+ "dev": true,
+ "requires": {
+ "prepend-http": "2.0.0",
+ "query-string": "5.1.1",
+ "sort-keys": "2.0.0"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "2.0.1"
+ }
+ },
+ "nsp": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/nsp/-/nsp-3.2.1.tgz",
+ "integrity": "sha512-dLmGi7IGixJEHKetErIH460MYiYIzAoxuVsloZFu9e1p9U8K0yULx7YQ1+VzrjZbB+wqq67ES1SfOvKVb/qMDQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.1",
+ "cli-table2": "0.2.0",
+ "cvss": "1.0.2",
+ "https-proxy-agent": "2.1.1",
+ "inquirer": "3.3.0",
+ "nodesecurity-npm-utils": "6.0.0",
+ "semver": "5.5.0",
+ "wreck": "12.5.1",
+ "yargs": "9.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "nwmatcher": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz",
+ "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "0.1.1",
+ "define-property": "0.2.5",
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "object-keys": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
+ "dev": true
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "dev": true,
+ "requires": {
+ "define-properties": "1.1.2",
+ "es-abstract": "1.10.0"
+ }
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.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"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+ }
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.2.0"
+ }
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.10",
+ "wordwrap": "0.0.3"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+ "dev": true
+ }
+ }
+ },
+ "optionator": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "dev": true,
+ "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",
+ "wordwrap": "1.0.0"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ }
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "dev": true,
+ "requires": {
+ "execa": "0.7.0",
+ "lcid": "1.0.0",
+ "mem": "1.1.0"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-is-promise": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
+ "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
+ "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
+ "dev": true,
+ "requires": {
+ "p-try": "1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "1.2.0"
+ }
+ },
+ "p-reduce": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
+ "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=",
+ "dev": true
+ },
+ "p-retry": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-1.0.0.tgz",
+ "integrity": "sha1-OSczKkt9cCabU1UVEX/FR9oaaWg=",
+ "dev": true,
+ "requires": {
+ "retry": "0.10.1"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "parse-github-url": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz",
+ "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==",
+ "dev": true
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
+ },
+ "parse-url": {
+ "version": "1.3.11",
+ "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz",
+ "integrity": "sha1-V8FUKKuKiSsfQ4aWRccR0OFEtVQ=",
+ "dev": true,
+ "requires": {
+ "is-ssh": "1.3.0",
+ "protocols": "1.4.6"
+ }
+ },
+ "parse5": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
+ "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-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=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ }
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ }
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0"
+ }
+ },
+ "pluralize": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
+ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
+ "dev": true
+ },
+ "pn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+ "dev": true
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "pretty-format": {
+ "version": "22.4.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.0.tgz",
+ "integrity": "sha512-pvCxP2iODIIk9adXlo4S3GRj0BrJiil68kByAa1PrgG97c1tClh9dLMgp3Z6cHFZrclaABt0UH8PIhwHuFLqYA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0",
+ "ansi-styles": "3.2.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ }
+ }
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ },
+ "progress": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
+ "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
+ "dev": true
+ },
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "dev": true,
+ "requires": {
+ "asap": "2.0.6"
+ }
+ },
+ "protocols": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz",
+ "integrity": "sha1-+LsmPqG1/Xp2BNJri+Ob13Z4v4o=",
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
+ },
+ "qs": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
+ "dev": true
+ },
+ "query-string": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
+ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+ "dev": true,
+ "requires": {
+ "decode-uri-component": "0.2.0",
+ "object-assign": "4.1.1",
+ "strict-uri-encode": "1.1.0"
+ }
+ },
+ "quick-lru": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
+ "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
+ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
+ "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.2.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.6"
+ }
+ }
+ }
+ },
+ "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.6"
+ }
+ }
+ }
+ },
+ "rc": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-0.6.0.tgz",
+ "integrity": "sha1-4ckwBZr4MchUE/4nWuL0D048U3E=",
+ "dev": true,
+ "requires": {
+ "deep-extend": "0.2.11",
+ "ini": "1.3.5",
+ "minimist": "0.0.10",
+ "strip-json-comments": "0.1.3"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.0.3",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "realpath-native": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.0.tgz",
+ "integrity": "sha512-XJtlRJ9jf0E1H1SLeJyQ9PGzQD7S65h1pRXEcAeK48doKOnKxcgPeNohJvD5u/2sI9J1oke6E8bZHS/fmW1UiQ==",
+ "dev": true,
+ "requires": {
+ "util.promisify": "1.0.0"
+ }
+ },
+ "redent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
+ "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+ "dev": true,
+ "requires": {
+ "indent-string": "3.2.0",
+ "strip-indent": "2.0.0"
+ }
+ },
+ "redeyed": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz",
+ "integrity": "sha1-6WwZO0DAgWsArshCaY5hGF5VSYo=",
+ "dev": true,
+ "requires": {
+ "esprima": "3.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz",
+ "integrity": "sha1-U88kes2ncxPlUcOqLnM0LT+099k=",
+ "dev": true
+ }
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "0.1.3"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "3.0.2",
+ "safe-regex": "1.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
+ }
+ }
+ },
+ "regexpp": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.0.1.tgz",
+ "integrity": "sha512-8Ph721maXiOYSLtaDGKVmDn5wdsNaF6Px85qFNeMPQq0r8K5Y10tgP6YuR65Ws35n4DvzFcCxEnRNBIXQunzLw==",
+ "dev": true
+ },
+ "registry-auth-token": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
+ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
+ "dev": true,
+ "requires": {
+ "rc": "1.2.6",
+ "safe-buffer": "5.1.1"
+ },
+ "dependencies": {
+ "deep-extend": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
+ "dev": true
+ },
+ "rc": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.6.tgz",
+ "integrity": "sha1-6xiYnG1PTxYsOZ953dKfODVWgJI=",
+ "dev": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.5",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ }
+ }
+ },
+ "remarkable": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.1.tgz",
+ "integrity": "sha1-qspJchALZqZCpjoQIcpLrBvjv/Y=",
+ "requires": {
+ "argparse": "0.1.16",
+ "autolinker": "0.15.3"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "0.1.16",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
+ "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
+ "requires": {
+ "underscore": "1.7.0",
+ "underscore.string": "2.4.0"
+ }
+ }
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "1.0.2"
+ }
+ },
+ "request": {
+ "version": "2.83.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
+ "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "0.7.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.6",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.3.2",
+ "har-validator": "5.0.3",
+ "hawk": "6.0.2",
+ "http-signature": "1.2.0",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.18",
+ "oauth-sign": "0.8.2",
+ "performance-now": "2.1.0",
+ "qs": "6.5.1",
+ "safe-buffer": "5.1.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.3",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.2.1"
+ },
+ "dependencies": {
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ }
+ }
+ },
+ "request-promise-core": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz",
+ "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz",
+ "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=",
+ "dev": true,
+ "requires": {
+ "request-promise-core": "1.1.1",
+ "stealthy-require": "1.1.1",
+ "tough-cookie": "2.3.3"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-from-string": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.1.tgz",
+ "integrity": "sha1-xUUjPp19pmFunVmt+zn8n1iGdv8=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "require-uncached": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
+ "dev": true,
+ "requires": {
+ "caller-path": "0.1.0",
+ "resolve-from": "1.0.1"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+ "dev": true
+ }
+ }
+ },
+ "requireindex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz",
+ "integrity": "sha1-5UBLgVV+91225JxacgBIk/4D4WI=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ },
+ "resolve-cwd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
+ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+ "dev": true,
+ "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=",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "2.0.1",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "retry": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
+ "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
+ "dev": true
+ },
+ "right-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "align-text": "0.1.4"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "run-async": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "dev": true,
+ "requires": {
+ "is-promise": "2.1.0"
+ }
+ },
+ "rx-lite": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
+ "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
+ "dev": true
+ },
+ "rx-lite-aggregates": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
+ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
+ "dev": true,
+ "requires": {
+ "rx-lite": "4.0.8"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "0.1.15"
+ }
+ },
+ "sane": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-2.4.1.tgz",
+ "integrity": "sha512-fW9svvNd81XzHDZyis9/tEY1bZikDGryy8Hi1BErPyNPYv47CdLseUN+tI5FBHWXEENRtj1SWtX/jBnggLaP0w==",
+ "dev": true,
+ "requires": {
+ "anymatch": "1.3.2",
+ "exec-sh": "0.2.1",
+ "fb-watchman": "2.0.0",
+ "fsevents": "1.1.3",
+ "minimatch": "3.0.4",
+ "minimist": "1.2.0",
+ "walker": "1.0.7",
+ "watch": "0.18.0"
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true
+ },
+ "semantic-release": {
+ "version": "15.1.2",
+ "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.1.2.tgz",
+ "integrity": "sha512-y1pWSgi+s7SwKi2RDqrDX0vgio1Ie7u/P9Ib0cpkO7wvvR+xydCzWJXdaMB7UOJKeTlGNRbFfcxNv7m+tWWf2A==",
+ "dev": true,
+ "requires": {
+ "@semantic-release/commit-analyzer": "5.0.2",
+ "@semantic-release/error": "2.2.0",
+ "@semantic-release/github": "4.2.8",
+ "@semantic-release/npm": "3.2.2",
+ "@semantic-release/release-notes-generator": "6.0.6",
+ "aggregate-error": "1.0.0",
+ "chalk": "2.3.2",
+ "cosmiconfig": "4.0.0",
+ "debug": "3.1.0",
+ "env-ci": "1.4.2",
+ "execa": "0.10.0",
+ "get-stream": "3.0.0",
+ "git-log-parser": "1.2.0",
+ "git-url-parse": "8.2.0",
+ "hook-std": "0.4.0",
+ "hosted-git-info": "2.6.0",
+ "lodash": "4.17.5",
+ "marked": "0.3.17",
+ "marked-terminal": "2.0.0",
+ "p-locate": "2.0.0",
+ "p-reduce": "1.0.0",
+ "read-pkg-up": "3.0.0",
+ "resolve-from": "4.0.0",
+ "semver": "5.5.0",
+ "yargs": "11.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
+ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.3.0"
+ }
+ },
+ "cliui": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz",
+ "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==",
+ "dev": true,
+ "requires": {
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "wrap-ansi": "2.1.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "1.0.4",
+ "path-key": "2.0.1",
+ "semver": "5.5.0",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
+ },
+ "execa": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
+ "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "6.0.5",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
+ "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "4.0.0",
+ "pify": "3.0.0",
+ "strip-bom": "3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1",
+ "json-parse-better-errors": "1.0.1"
+ }
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "4.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "3.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "3.0.0"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
+ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ },
+ "yargs": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
+ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
+ "dev": true,
+ "requires": {
+ "cliui": "4.0.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "9.0.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
+ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
+ "semver": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-getter": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
+ "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
+ "requires": {
+ "to-object-path": "0.3.0"
+ }
+ },
+ "set-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-extendable": "0.1.1",
+ "is-plain-object": "2.0.4",
+ "split-string": "3.1.0"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "shellwords": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
+ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0"
+ },
+ "dependencies": {
+ "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="
+ }
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "0.11.2",
+ "debug": "2.6.9",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "map-cache": "0.2.2",
+ "source-map": "0.5.7",
+ "source-map-resolve": "0.5.1",
+ "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==",
+ "dev": true,
+ "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=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "1.0.0",
+ "isobject": "3.0.1",
+ "snapdragon-util": "3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "sntp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz",
+ "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==",
+ "dev": true,
+ "requires": {
+ "hoek": "4.2.1"
+ }
+ },
+ "sort-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
+ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "1.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
+ "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
+ "dev": true,
+ "requires": {
+ "atob": "2.0.3",
+ "decode-uri-component": "0.2.0",
+ "resolve-url": "0.2.1",
+ "source-map-url": "0.4.0",
+ "urix": "0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz",
+ "integrity": "sha512-eKkTgWYeBOQqFGXRfKabMFdnWepo51vWqEdoeikaEPFiJC7MCU5j2h4+6Q8npkZTeLGbSyecZvRxiSoWl3rh+w==",
+ "dev": true,
+ "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==",
+ "dev": true
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "spawn-error-forwarder": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz",
+ "integrity": "sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk=",
+ "dev": true
+ },
+ "spawnback": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.0.tgz",
+ "integrity": "sha1-9zZi9+VNlTZ+ynTWQmxnfdfqaG8=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
+ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "dev": true,
+ "requires": {
+ "spdx-license-ids": "1.2.2"
+ }
+ },
+ "spdx-expression-parse": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
+ "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+ "dev": true
+ },
+ "spdx-license-ids": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
+ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+ "dev": true
+ },
+ "split": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
+ "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
+ "dev": true,
+ "requires": {
+ "through": "2.3.8"
+ }
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "3.0.2"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
+ }
+ }
+ },
+ "split2": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz",
+ "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==",
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3"
+ }
+ },
+ "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.13.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
+ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+ "dev": true,
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "stack-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz",
+ "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "0.2.5",
+ "object-copy": "0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "stealthy-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
+ "dev": true
+ },
+ "stream-combiner2": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+ "dev": true,
+ "requires": {
+ "duplexer2": "0.1.4",
+ "readable-stream": "2.3.4"
+ }
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+ "dev": true
+ },
+ "string-length": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
+ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=",
+ "dev": true,
+ "requires": {
+ "astral-regex": "1.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "strip-color": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz",
+ "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s="
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-indent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
+ "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz",
+ "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "symbol-tree": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
+ "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=",
+ "dev": true
+ },
+ "sync-request": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-3.0.1.tgz",
+ "integrity": "sha1-yqEjWq+Im6UBB2oYNMQ2gwqC+3M=",
+ "dev": true,
+ "requires": {
+ "concat-stream": "1.6.0",
+ "http-response-object": "1.1.0",
+ "then-request": "2.2.0"
+ }
+ },
+ "table": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz",
+ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==",
+ "requires": {
+ "ajv": "6.1.1",
+ "ajv-keywords": "3.1.0",
+ "chalk": "2.3.1",
+ "lodash": "4.17.5",
+ "slice-ansi": "1.0.0",
+ "string-width": "2.1.1"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz",
+ "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=",
+ "requires": {
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.2.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="
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw=="
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "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=",
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "test-exclude": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.0.tgz",
+ "integrity": "sha512-8hMFzjxbPv6xSlwGhXSvOMJ/vTy3bkng+2pxmf6E1z6VF7I9nIyNfvHtaw+NBPgvz647gADBbMSbwLfZYppT/w==",
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "micromatch": "2.3.11",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "require-main-filename": "1.0.1"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
+ }
+ }
+ },
+ "text-extensions": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.7.0.tgz",
+ "integrity": "sha512-AKXZeDq230UaSzaO5s3qQUZOaC7iKbzq0jOFL614R7d9R593HLqAOL0cYoqLdkNrjBSOdmoQI06yigq1TSBXAg==",
+ "dev": true
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "then-request": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/then-request/-/then-request-2.2.0.tgz",
+ "integrity": "sha1-ZnizL6DKIY/laZgbvYhxtZQGDYE=",
+ "dev": true,
+ "requires": {
+ "caseless": "0.11.0",
+ "concat-stream": "1.6.0",
+ "http-basic": "2.5.1",
+ "http-response-object": "1.1.0",
+ "promise": "7.3.1",
+ "qs": "6.5.1"
+ }
+ },
+ "throat": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
+ "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.4",
+ "xtend": "4.0.1"
+ }
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ },
+ "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.2.2"
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "regex-not": "1.0.2",
+ "safe-regex": "1.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
+ }
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ }
+ }
+ },
+ "toml": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz",
+ "integrity": "sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA=="
+ },
+ "tough-cookie": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
+ "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ },
+ "tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "dev": true,
+ "requires": {
+ "punycode": "2.1.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
+ "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=",
+ "dev": true
+ }
+ }
+ },
+ "traverse": {
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
+ "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
+ "dev": true
+ },
+ "traverse-chain": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz",
+ "integrity": "sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE="
+ },
+ "trim-newlines": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
+ "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+ "dev": true
+ },
+ "trim-off-newlines": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz",
+ "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=",
+ "dev": true
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "tslib": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true,
+ "optional": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2"
+ }
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
+ "uglify-js": {
+ "version": "2.8.29",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "dev": true,
+ "optional": true
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ }
+ },
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "dev": true,
+ "optional": true
+ },
+ "yargs": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "uglify-to-browserify": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "dev": true,
+ "optional": true
+ },
+ "underscore": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
+ "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk="
+ },
+ "underscore.string": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
+ "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs="
+ },
+ "union-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "get-value": "2.0.6",
+ "is-extendable": "0.1.1",
+ "set-value": "0.4.3"
+ },
+ "dependencies": {
+ "set-value": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-extendable": "0.1.1",
+ "is-plain-object": "2.0.4",
+ "to-object-path": "0.3.0"
+ }
+ }
+ }
+ },
+ "universalify": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
+ "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=",
+ "dev": true
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "0.3.1",
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "2.0.6",
+ "has-values": "0.1.4",
+ "isobject": "2.1.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url-join": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz",
+ "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=",
+ "dev": true
+ },
+ "url-template": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz",
+ "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=",
+ "dev": true
+ },
+ "use": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
+ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "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.0",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "1.1.2",
+ "object.getownpropertydescriptors": "2.0.3"
+ }
+ },
+ "uuid": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
+ "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
+ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.4"
+ }
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "1.3.0"
+ }
+ },
+ "w3c-hr-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
+ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
+ "dev": true,
+ "requires": {
+ "browser-process-hrtime": "0.1.2"
+ }
+ },
+ "walk": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz",
+ "integrity": "sha1-MbTbZnjyrgHDnqn7hyWpAx5Vins=",
+ "requires": {
+ "foreachasync": "3.0.0"
+ }
+ },
+ "walk-sync": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.2.tgz",
+ "integrity": "sha512-FMB5VqpLqOCcqrzA9okZFc0wq0Qbmdm396qJxvQZhDpyu0W95G9JCmp74tx7iyYnyOcBtUuKJsgIKAqjozvmmQ==",
+ "requires": {
+ "ensure-posix-path": "1.0.2",
+ "matcher-collection": "1.0.5"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "dev": true,
+ "requires": {
+ "makeerror": "1.0.11"
+ }
+ },
+ "watch": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz",
+ "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=",
+ "dev": true,
+ "requires": {
+ "exec-sh": "0.2.1",
+ "minimist": "1.2.0"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "whatwg-encoding": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz",
+ "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.19"
+ }
+ },
+ "whatwg-url": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.4.0.tgz",
+ "integrity": "sha512-Z0CVh/YE217Foyb488eo+iBv+r7eAQ0wSTyApi9n06jhcA3z6Nidg/EGvl0UFkg7kMdKxfBzzr+o9JF+cevgMg==",
+ "dev": true,
+ "requires": {
+ "lodash.sortby": "4.7.0",
+ "tr46": "1.0.1",
+ "webidl-conversions": "4.0.2"
+ }
+ },
+ "which": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+ "dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "window-size": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "dev": true,
+ "optional": true
+ },
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "wreck": {
+ "version": "12.5.1",
+ "resolved": "https://registry.npmjs.org/wreck/-/wreck-12.5.1.tgz",
+ "integrity": "sha512-l5DUGrc+yDyIflpty1x9XuMj1ehVjC/dTbF3/BasOO77xk0EdEa4M/DuOY8W88MQDAD0fEDqyjc8bkIMHd2E9A==",
+ "dev": true,
+ "requires": {
+ "boom": "5.2.0",
+ "hoek": "4.2.1"
+ }
+ },
+ "write": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "0.5.1"
+ }
+ },
+ "write-file-atomic": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
+ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "imurmurhash": "0.1.4",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "ws": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
+ "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
+ "dev": true,
+ "requires": {
+ "async-limiter": "1.0.0",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ },
+ "yargs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "read-pkg-up": "2.0.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "7.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..6b071d5
--- /dev/null
+++ b/package.json
@@ -0,0 +1,133 @@
+{
+ "name": "architecture-decision-records",
+ "description": "A community-driven repository of Architecture Decision Records (ADRs): lightweight, actionable documents that capture design, framework, and application choices that address significant requirements and product delivery challenges facing commonality's product delivery teams.",
+ "version": "0.0.0",
+ "author": {
+ "name": "commonality",
+ "email": "greg@swindle.net",
+ "url": "https://github.com/commonality"
+ },
+ "bugs": "https://github.com/commonality/architecture-decision-records/issues",
+ "commitplease": {
+ "style": "angular",
+ "types": [
+ "build",
+ "chore",
+ "ci",
+ "docs",
+ "feat",
+ "fix",
+ "perf",
+ "refactor",
+ "revert",
+ "style",
+ "test"
+ ],
+ "scope": "\\S+.*"
+ },
+ "contributors": [],
+ "dependencies": {
+ "adr": "1.0.7"
+ },
+ "devDependencies": {
+ "@semantic-release/changelog": "2.0.1",
+ "@semantic-release/git": "4.0.1",
+ "@semantic-release/npm": "3.2.2",
+ "ajv": "6.3.0",
+ "commitplease": "3.2.0",
+ "copyfiles": "2.0.0",
+ "eslint": "4.19.0",
+ "eslint-config-standard": "11.0.0",
+ "eslint-plugin-import": "2.9.0",
+ "eslint-plugin-jsdoc": "3.5.0",
+ "eslint-plugin-node": "6.0.1",
+ "eslint-plugin-promise": "3.7.0",
+ "eslint-plugin-security": "1.4.0",
+ "eslint-plugin-standard": "3.0.1",
+ "eslint-plugin-unicorn": "4.0.2",
+ "eslint-plugin-xss": "0.1.9",
+ "fixpack": "2.3.1",
+ "jest": "22.4.2",
+ "markdown-magic": "0.1.21",
+ "markdown-magic-install-command": "1.3.1",
+ "nsp": "3.2.1",
+ "semantic-release": "15.1.2"
+ },
+ "directories": {
+ "doc": "./docs"
+ },
+ "engines": {
+ "node": ">=7.6.0"
+ },
+ "homepage": "https://github.com/commonality/architecture-decision-records#readme",
+ "jest": {
+ "name": "architecture-decision-records",
+ "automock": false,
+ "collectCoverage": false,
+ "coverageDirectory": "/.github/reports/coverage",
+ "coverageThreshold": {
+ "global": {
+ "branches": 90,
+ "functions": 90,
+ "lines": 90,
+ "statements": 90
+ }
+ },
+ "projects": [
+ ""
+ ]
+ },
+ "keywords": [
+ "adr",
+ "architecture-decision",
+ "architecture-decision-records",
+ "architecture-doc",
+ "architecture-guidelines",
+ "decision-records",
+ "evolutionary-architecture",
+ "tech-radar"
+ ],
+ "license": "MIT",
+ "maintainers": [],
+ "release": {
+ "verifyConditions": [
+ "@semantic-release/changelog",
+ "@semantic-release/npm",
+ "@semantic-release/git",
+ "@semantic-release/github"
+ ],
+ "publish": [
+ "@semantic-release/changelog",
+ "@semantic-release/npm",
+ "@semantic-release/git",
+ "@semantic-release/github"
+ ]
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/commonality/architecture-decision-records.git"
+ },
+ "scripts": {
+ "adr:list": "adr list",
+ "adr:new": "adr new",
+ "adr:template:en": "copyfiles -f '.github/adr-templates/en.md' node_modules/adr/build/main/lib/templates/ --verbose",
+ "adr:to:csv": "adr export csv",
+ "adr:to:graph": "adr generate graph",
+ "adr:to:html": "adr export html",
+ "adr:to:json": "adr export json",
+ "adr:to:markdown": "adr export markdown",
+ "adr:toc": "adr generate toc",
+ "docs": "npm run docs:toc && npm run adr:toc",
+ "docs:toc": "md-magic --path '**/*.md' --ignore 'node_modules'",
+ "lint": "npm run lint:js && npm run lint:manifest",
+ "lint:js": "eslint --config .github/config/.eslintrc.yml . --fix",
+ "lint:manifest": "fixpack",
+ "postinstall": "npm run adr:template:en",
+ "prepare": "npm run lint && npm run security",
+ "prepublish": "nsp check",
+ "pretest": "npm run lint && npm run security",
+ "security": "npm run security:nsp:scan",
+ "security:nsp:scan": "nsp check",
+ "test": "jest --forceExit"
+ }
+}