pax_global_header00006660000000000000000000000064135616377720014533gustar00rootroot0000000000000052 comment=8c5462a9b982bf7ce1b6cd8fb3bb1b90843605ac css-what-3.2.1/000077500000000000000000000000001356163777200132675ustar00rootroot00000000000000css-what-3.2.1/.eslintrc.json000066400000000000000000000010421356163777200160600ustar00rootroot00000000000000{ "extends": [ "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "prettier", "prettier/@typescript-eslint" ], "env": { "node": true }, "rules": { "eqeqeq": 2, "no-caller": 2, "dot-notation": 2, "no-var": 2, "prefer-const": 2, "@typescript-eslint/explicit-function-return-type": 0, "@typescript-eslint/no-use-before-define": [2, { "functions": false }] } } css-what-3.2.1/.github/000077500000000000000000000000001356163777200146275ustar00rootroot00000000000000css-what-3.2.1/.github/FUNDING.yml000066400000000000000000000011611356163777200164430ustar00rootroot00000000000000# These are supported funding model platforms github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] patreon: # Replace with a single Patreon username open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username tidelift: "npm/css-what" community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username custom: # Replace with a single custom sponsorship URL css-what-3.2.1/.gitignore000066400000000000000000000000351356163777200152550ustar00rootroot00000000000000node_modules/ coverage/ lib/ css-what-3.2.1/.travis.yml000066400000000000000000000001071356163777200153760ustar00rootroot00000000000000language: node_js node_js: - lts/* after_success: npm run coverage css-what-3.2.1/LICENSE000066400000000000000000000023541356163777200143000ustar00rootroot00000000000000Copyright (c) Felix Böhm All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. css-what-3.2.1/package-lock.json000066400000000000000000006144061356163777200165160ustar00rootroot00000000000000{ "name": "css-what", "version": "3.2.1", "lockfileVersion": 1, "requires": true, "dependencies": { "@babel/code-frame": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", "dev": true, "requires": { "@babel/highlight": "^7.0.0" } }, "@babel/core": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", "dev": true, "requires": { "@babel/code-frame": "^7.5.5", "@babel/generator": "^7.5.5", "@babel/helpers": "^7.5.5", "@babel/parser": "^7.5.5", "@babel/template": "^7.4.4", "@babel/traverse": "^7.5.5", "@babel/types": "^7.5.5", "convert-source-map": "^1.1.0", "debug": "^4.1.0", "json5": "^2.1.0", "lodash": "^4.17.13", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" }, "dependencies": { "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/generator": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", "dev": true, "requires": { "@babel/types": "^7.5.5", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0", "trim-right": "^1.0.1" }, "dependencies": { "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/helper-function-name": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.0.0", "@babel/template": "^7.1.0", "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", "dev": true }, "@babel/helper-split-export-declaration": { "version": "7.4.4", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "dev": true, "requires": { "@babel/types": "^7.4.4" } }, "@babel/helpers": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", "dev": true, "requires": { "@babel/template": "^7.4.4", "@babel/traverse": "^7.5.5", "@babel/types": "^7.5.5" } }, "@babel/highlight": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", "dev": true }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/template": { "version": "7.4.4", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "@babel/parser": "^7.4.4", "@babel/types": "^7.4.4" } }, "@babel/traverse": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", "dev": true, "requires": { "@babel/code-frame": "^7.5.5", "@babel/generator": "^7.5.5", "@babel/helper-function-name": "^7.1.0", "@babel/helper-split-export-declaration": "^7.4.4", "@babel/parser": "^7.5.5", "@babel/types": "^7.5.5", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" } }, "@babel/types": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } }, "@cnakazawa/watch": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==", "dev": true, "requires": { "exec-sh": "^0.3.2", "minimist": "^1.2.0" }, "dependencies": { "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } }, "@jest/console": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", "dev": true, "requires": { "@jest/source-map": "^24.9.0", "chalk": "^2.0.1", "slash": "^2.0.0" } }, "@jest/core": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", "dev": true, "requires": { "@jest/console": "^24.7.1", "@jest/reporters": "^24.9.0", "@jest/test-result": "^24.9.0", "@jest/transform": "^24.9.0", "@jest/types": "^24.9.0", "ansi-escapes": "^3.0.0", "chalk": "^2.0.1", "exit": "^0.1.2", "graceful-fs": "^4.1.15", "jest-changed-files": "^24.9.0", "jest-config": "^24.9.0", "jest-haste-map": "^24.9.0", "jest-message-util": "^24.9.0", "jest-regex-util": "^24.3.0", "jest-resolve": "^24.9.0", "jest-resolve-dependencies": "^24.9.0", "jest-runner": "^24.9.0", "jest-runtime": "^24.9.0", "jest-snapshot": "^24.9.0", "jest-util": "^24.9.0", "jest-validate": "^24.9.0", "jest-watcher": "^24.9.0", "micromatch": "^3.1.10", "p-each-series": "^1.0.0", "realpath-native": "^1.1.0", "rimraf": "^2.5.4", "slash": "^2.0.0", "strip-ansi": "^5.0.0" } }, "@jest/environment": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", "dev": true, "requires": { "@jest/fake-timers": "^24.9.0", "@jest/transform": "^24.9.0", "@jest/types": "^24.9.0", "jest-mock": "^24.9.0" } }, "@jest/fake-timers": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", "dev": true, "requires": { "@jest/types": "^24.9.0", "jest-message-util": "^24.9.0", "jest-mock": "^24.9.0" } }, "@jest/reporters": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", "dev": true, "requires": { "@jest/environment": "^24.9.0", "@jest/test-result": "^24.9.0", "@jest/transform": "^24.9.0", "@jest/types": "^24.9.0", "chalk": "^2.0.1", "exit": "^0.1.2", "glob": "^7.1.2", "istanbul-lib-coverage": "^2.0.2", "istanbul-lib-instrument": "^3.0.1", "istanbul-lib-report": "^2.0.4", "istanbul-lib-source-maps": "^3.0.1", "istanbul-reports": "^2.2.6", "jest-haste-map": "^24.9.0", "jest-resolve": "^24.9.0", "jest-runtime": "^24.9.0", "jest-util": "^24.9.0", "jest-worker": "^24.6.0", "node-notifier": "^5.4.2", "slash": "^2.0.0", "source-map": "^0.6.0", "string-length": "^2.0.0" } }, "@jest/source-map": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", "dev": true, "requires": { "callsites": "^3.0.0", "graceful-fs": "^4.1.15", "source-map": "^0.6.0" } }, "@jest/test-result": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", "dev": true, "requires": { "@jest/console": "^24.9.0", "@jest/types": "^24.9.0", "@types/istanbul-lib-coverage": "^2.0.0" } }, "@jest/test-sequencer": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", "dev": true, "requires": { "@jest/test-result": "^24.9.0", "jest-haste-map": "^24.9.0", "jest-runner": "^24.9.0", "jest-runtime": "^24.9.0" } }, "@jest/transform": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", "@jest/types": "^24.9.0", "babel-plugin-istanbul": "^5.1.0", "chalk": "^2.0.1", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.1.15", "jest-haste-map": "^24.9.0", "jest-regex-util": "^24.9.0", "jest-util": "^24.9.0", "micromatch": "^3.1.10", "pirates": "^4.0.1", "realpath-native": "^1.1.0", "slash": "^2.0.0", "source-map": "^0.6.1", "write-file-atomic": "2.4.1" } }, "@jest/types": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^1.1.1", "@types/yargs": "^13.0.0" } }, "@types/babel__core": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.2.tgz", "integrity": "sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg==", "dev": true, "requires": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "@types/babel__generator": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.0.2.tgz", "integrity": "sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ==", "dev": true, "requires": { "@babel/types": "^7.0.0" } }, "@types/babel__template": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", "dev": true, "requires": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "@types/babel__traverse": { "version": "7.0.7", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.7.tgz", "integrity": "sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==", "dev": true, "requires": { "@babel/types": "^7.3.0" } }, "@types/eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", "dev": true }, "@types/istanbul-lib-coverage": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", "dev": true }, "@types/istanbul-lib-report": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*" } }, "@types/istanbul-reports": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*", "@types/istanbul-lib-report": "*" } }, "@types/jest": { "version": "24.0.22", "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.22.tgz", "integrity": "sha512-t2OvhNZnrNjlzi2i0/cxbLVM59WN15I2r1Qtb7wDv28PnV9IzrPtagFRey/S9ezdLD0zyh1XGMQIEQND2YEfrw==", "dev": true, "requires": { "@types/jest-diff": "*" } }, "@types/jest-diff": { "version": "20.0.1", "resolved": "https://registry.npmjs.org/@types/jest-diff/-/jest-diff-20.0.1.tgz", "integrity": "sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA==", "dev": true }, "@types/json-schema": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==", "dev": true }, "@types/node": { "version": "12.12.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.6.tgz", "integrity": "sha512-FjsYUPzEJdGXjwKqSpE0/9QEh6kzhTAeObA54rn6j3rR4C/mzpI9L0KNfoeASSPMMdxIsoJuCLDWcM/rVjIsSA==", "dev": true }, "@types/stack-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", "dev": true }, "@types/yargs": { "version": "13.0.2", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.2.tgz", "integrity": "sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ==", "dev": true, "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.0.0.tgz", "integrity": "sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw==", "dev": true }, "@typescript-eslint/eslint-plugin": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz", "integrity": "sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g==", "dev": true, "requires": { "@typescript-eslint/experimental-utils": "1.13.0", "eslint-utils": "^1.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^2.0.1", "tsutils": "^3.7.0" } }, "@typescript-eslint/experimental-utils": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", "@typescript-eslint/typescript-estree": "1.13.0", "eslint-scope": "^4.0.0" } }, "@typescript-eslint/parser": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.13.0.tgz", "integrity": "sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", "@typescript-eslint/experimental-utils": "1.13.0", "@typescript-eslint/typescript-estree": "1.13.0", "eslint-visitor-keys": "^1.0.0" }, "dependencies": { "@typescript-eslint/experimental-utils": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", "@typescript-eslint/typescript-estree": "1.13.0", "eslint-scope": "^4.0.0" } }, "@typescript-eslint/typescript-estree": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", "dev": true, "requires": { "lodash.unescape": "4.0.1", "semver": "5.5.0" } }, "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true } } }, "@typescript-eslint/typescript-estree": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", "dev": true, "requires": { "lodash.unescape": "4.0.1", "semver": "5.5.0" }, "dependencies": { "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true } } }, "abab": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", "dev": true }, "acorn": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.1.tgz", "integrity": "sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==", "dev": true }, "acorn-globals": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.3.tgz", "integrity": "sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ==", "dev": true, "requires": { "acorn": "^6.0.1", "acorn-walk": "^6.0.1" } }, "acorn-jsx": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", "dev": true }, "acorn-walk": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "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.0" } }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" } }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" } }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "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-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { "safer-buffer": "~2.1.0" } }, "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-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "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.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "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.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, "babel-jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", "dev": true, "requires": { "@jest/transform": "^24.9.0", "@jest/types": "^24.9.0", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^5.1.0", "babel-preset-jest": "^24.9.0", "chalk": "^2.4.2", "slash": "^2.0.0" } }, "babel-plugin-istanbul": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "find-up": "^3.0.0", "istanbul-lib-instrument": "^3.3.0", "test-exclude": "^5.2.3" } }, "babel-plugin-jest-hoist": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", "dev": true, "requires": { "@types/babel__traverse": "^7.0.6" } }, "babel-preset-jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", "dev": true, "requires": { "@babel/plugin-syntax-object-rest-spread": "^7.0.0", "babel-plugin-jest-hoist": "^24.9.0" } }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", "define-property": "^1.0.0", "isobject": "^3.0.1", "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "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.0" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } } } }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { "tweetnacl": "^0.14.3" } }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "browser-process-hrtime": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", "dev": true }, "browser-resolve": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "requires": { "resolve": "1.1.7" }, "dependencies": { "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true } } }, "bs-logger": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "requires": { "fast-json-stable-stringify": "2.x" } }, "bser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", "dev": true, "requires": { "node-int64": "^0.4.0" } }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "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" } }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "capture-exit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", "dev": true, "requires": { "rsvp": "^4.8.4" } }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, "ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "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.0", "static-extend": "^0.1.1" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } } } }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { "restore-cursor": "^3.1.0" } }, "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": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", "wrap-ansi": "^5.1.0" }, "dependencies": { "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } } } }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" } }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, "commander": { "version": "2.20.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", "dev": true, "optional": true }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "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=", "dev": true }, "convert-source-map": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "coveralls": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.7.tgz", "integrity": "sha512-mUuH2MFOYB2oBaA4D4Ykqi9LaEYpMMlsiOMJOrv358yAjP6enPIk55fod2fNJ8AvwoYXStWQls37rA+s5e7boA==", "dev": true, "requires": { "growl": "~> 1.10.0", "js-yaml": "^3.13.1", "lcov-parse": "^0.0.10", "log-driver": "^1.2.7", "minimist": "^1.2.0", "request": "^2.86.0" }, "dependencies": { "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" }, "dependencies": { "semver": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "dev": true } } }, "cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, "cssstyle": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", "dev": true, "requires": { "cssom": "0.3.x" } }, "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" } }, "data-urls": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { "abab": "^2.0.0", "whatwg-mimetype": "^2.2.0", "whatwg-url": "^7.0.0" }, "dependencies": { "whatwg-url": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", "dev": true, "requires": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", "webidl-conversions": "^4.0.2" } } } }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" } }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "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 }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { "object-keys": "^1.0.12" } }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.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-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 }, "diff-sequences": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", "dev": true }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" } }, "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" } }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { "once": "^1.4.0" } }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "es-abstract": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", "dev": true, "requires": { "es-to-primitive": "^1.2.0", "function-bind": "^1.1.1", "has": "^1.0.3", "is-callable": "^1.1.4", "is-regex": "^1.0.4", "object-keys": "^1.0.12" } }, "es-to-primitive": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" } }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "escodegen": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", "dev": true, "requires": { "esprima": "^3.1.3", "estraverse": "^4.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" }, "dependencies": { "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true } } }, "eslint": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz", "integrity": "sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", "chalk": "^2.1.0", "cross-spawn": "^6.0.5", "debug": "^4.0.1", "doctrine": "^3.0.0", "eslint-scope": "^5.0.0", "eslint-utils": "^1.4.3", "eslint-visitor-keys": "^1.1.0", "espree": "^6.1.2", "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", "globals": "^11.7.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", "lodash": "^4.17.14", "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "optionator": "^0.8.2", "progress": "^2.0.0", "regexpp": "^2.0.1", "semver": "^6.1.2", "strip-ansi": "^5.2.0", "strip-json-comments": "^3.0.1", "table": "^5.2.3", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { "eslint-scope": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } }, "eslint-utils": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" } }, "eslint-visitor-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", "dev": true } } }, "eslint-config-prettier": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.5.0.tgz", "integrity": "sha512-cjXp8SbO9VFGW/Z7mbTydqS9to8Z58E5aYhj3e1+Hx7lS9s6gL5ILKNpCqZAFOVYRcSkWPFYljHrEh8QFEK5EQ==", "dev": true, "requires": { "get-stdin": "^6.0.0" } }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } }, "eslint-utils": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", "dev": true, "requires": { "eslint-visitor-keys": "^1.0.0" } }, "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": "6.1.2", "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", "dev": true, "requires": { "acorn": "^7.1.0", "acorn-jsx": "^5.1.0", "eslint-visitor-keys": "^1.1.0" }, "dependencies": { "acorn": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", "dev": true }, "eslint-visitor-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", "dev": true } } }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { "estraverse": "^4.0.0" } }, "esrecurse": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { "estraverse": "^4.1.0" } }, "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", "dev": true }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "exec-sh": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz", "integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==", "dev": true }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "requires": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" } }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "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.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "expect": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", "dev": true, "requires": { "@jest/types": "^24.9.0", "ansi-styles": "^3.2.0", "jest-get-type": "^24.9.0", "jest-matcher-utils": "^24.9.0", "jest-message-util": "^24.9.0", "jest-regex-util": "^24.9.0" } }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "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" } } } }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" } }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "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.0" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } } } }, "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": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "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": "3.1.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { "flat-cache": "^2.0.1" } }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { "locate-path": "^3.0.0" } }, "flat-cache": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "requires": { "flatted": "^2.0.0", "rimraf": "2.6.3", "write": "1.0.3" } }, "flatted": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", "dev": true }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "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.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, "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" } }, "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.2.9", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", "dev": true, "optional": true, "requires": { "nan": "^2.12.1", "node-pre-gyp": "^0.12.0" }, "dependencies": { "abbrev": { "version": "1.1.1", "bundled": true, "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, "dev": true, "optional": true }, "aproba": { "version": "1.2.0", "bundled": true, "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, "dev": true, "optional": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" } }, "balanced-match": { "version": "1.0.0", "bundled": true, "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "chownr": { "version": "1.1.1", "bundled": true, "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", "bundled": true, "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, "dev": true, "optional": true }, "debug": { "version": "4.1.1", "bundled": true, "dev": true, "optional": true, "requires": { "ms": "^2.1.1" } }, "deep-extend": { "version": "0.6.0", "bundled": true, "dev": true, "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", "bundled": true, "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", "bundled": true, "dev": true, "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, "dev": true, "optional": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", "has-unicode": "^2.0.0", "object-assign": "^4.1.0", "signal-exit": "^3.0.0", "string-width": "^1.0.1", "strip-ansi": "^3.0.1", "wide-align": "^1.1.0" } }, "glob": { "version": "7.1.3", "bundled": true, "dev": true, "optional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "has-unicode": { "version": "2.0.1", "bundled": true, "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", "bundled": true, "dev": true, "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, "dev": true, "optional": true, "requires": { "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "dev": true, "optional": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { "version": "2.0.3", "bundled": true, "dev": true, "optional": true }, "ini": { "version": "1.3.5", "bundled": true, "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, "dev": true, "optional": true, "requires": { "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", "bundled": true, "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, "dev": true, "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", "bundled": true, "dev": true, "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { "version": "1.2.1", "bundled": true, "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" } }, "mkdirp": { "version": "0.5.1", "bundled": true, "dev": true, "optional": true, "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.1.1", "bundled": true, "dev": true, "optional": true }, "needle": { "version": "2.3.0", "bundled": true, "dev": true, "optional": true, "requires": { "debug": "^4.1.0", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { "version": "0.12.0", "bundled": true, "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", "needle": "^2.2.1", "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", "tar": "^4" } }, "nopt": { "version": "4.0.1", "bundled": true, "dev": true, "optional": true, "requires": { "abbrev": "1", "osenv": "^0.1.4" } }, "npm-bundled": { "version": "1.0.6", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.1", "bundled": true, "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" } }, "npmlog": { "version": "4.1.2", "bundled": true, "dev": true, "optional": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", "gauge": "~2.7.3", "set-blocking": "~2.0.0" } }, "number-is-nan": { "version": "1.0.1", "bundled": true, "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, "dev": true, "optional": true, "requires": { "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", "bundled": true, "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, "dev": true, "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, "dev": true, "optional": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { "version": "1.0.1", "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", "bundled": true, "dev": true, "optional": true }, "rc": { "version": "1.2.8", "bundled": true, "dev": true, "optional": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { "version": "1.2.0", "bundled": true, "dev": true, "optional": true } } }, "readable-stream": { "version": "2.3.6", "bundled": true, "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "rimraf": { "version": "2.6.3", "bundled": true, "dev": true, "optional": true, "requires": { "glob": "^7.1.3" } }, "safe-buffer": { "version": "5.1.2", "bundled": true, "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, "sax": { "version": "1.2.4", "bundled": true, "dev": true, "optional": true }, "semver": { "version": "5.7.0", "bundled": true, "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, "dev": true, "optional": true }, "string-width": { "version": "1.0.2", "bundled": true, "dev": true, "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" } }, "string_decoder": { "version": "1.1.1", "bundled": true, "dev": true, "optional": true, "requires": { "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "dev": true, "optional": true, "requires": { "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", "bundled": true, "dev": true, "optional": true }, "tar": { "version": "4.4.8", "bundled": true, "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", "minipass": "^2.3.4", "minizlib": "^1.1.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", "yallist": "^3.0.2" } }, "util-deprecate": { "version": "1.0.2", "bundled": true, "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", "bundled": true, "dev": true, "optional": true, "requires": { "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", "bundled": true, "dev": true, "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, "dev": true, "optional": true } } }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "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": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-stdin": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, "requires": { "pump": "^3.0.0" } }, "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" } }, "glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "glob-parent": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "graceful-fs": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", "dev": true }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, "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.1.2", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", "dev": true, "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1", "source-map": "^0.6.1", "uglify-js": "^3.1.4" } }, "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.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" } }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" } }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" } }, "has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "hosted-git-info": { "version": "2.8.4", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", "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.1" } }, "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.2.2", "sshpk": "^1.7.0" } }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "import-fresh": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "requires": { "pkg-dir": "^3.0.0", "resolve-cwd": "^2.0.0" } }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "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.3.0", "wrappy": "1" } }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "inquirer": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", "chalk": "^2.4.2", "cli-cursor": "^3.1.0", "cli-width": "^2.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", "lodash": "^4.17.15", "mute-stream": "0.0.8", "run-async": "^2.2.0", "rxjs": "^6.4.0", "string-width": "^4.1.0", "strip-ansi": "^5.1.0", "through": "^2.3.6" }, "dependencies": { "ansi-escapes": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", "dev": true, "requires": { "type-fest": "^0.5.2" } } } }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { "loose-envify": "^1.0.0" } }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-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==", "dev": true }, "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "dev": true }, "is-ci": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dev": true, "requires": { "ci-info": "^2.0.0" } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-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": "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.0.0" }, "dependencies": { "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { "version": "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 }, "is-generator-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" } }, "is-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-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-symbol": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, "requires": { "has-symbols": "^1.0.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-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 }, "is-wsl": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.0.tgz", "integrity": "sha512-pFTjpv/x5HRj8kbZ/Msxi9VrvtOMRBqaDi3OIcbwPI3OuH+r3lLxVWukLITBaOGJIbA/w2+M1eVmVa4XNQlAmQ==", "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "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 }, "istanbul-lib-coverage": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", "dev": true }, "istanbul-lib-instrument": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", "dev": true, "requires": { "@babel/generator": "^7.4.0", "@babel/parser": "^7.4.3", "@babel/template": "^7.4.0", "@babel/traverse": "^7.4.3", "@babel/types": "^7.4.0", "istanbul-lib-coverage": "^2.0.5", "semver": "^6.0.0" } }, "istanbul-lib-report": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", "dev": true, "requires": { "istanbul-lib-coverage": "^2.0.5", "make-dir": "^2.1.0", "supports-color": "^6.1.0" }, "dependencies": { "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { "has-flag": "^3.0.0" } } } }, "istanbul-lib-source-maps": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", "dev": true, "requires": { "debug": "^4.1.1", "istanbul-lib-coverage": "^2.0.5", "make-dir": "^2.1.0", "rimraf": "^2.6.3", "source-map": "^0.6.1" } }, "istanbul-reports": { "version": "2.2.6", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", "dev": true, "requires": { "handlebars": "^4.1.2" } }, "jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", "dev": true, "requires": { "import-local": "^2.0.0", "jest-cli": "^24.9.0" }, "dependencies": { "jest-cli": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", "dev": true, "requires": { "@jest/core": "^24.9.0", "@jest/test-result": "^24.9.0", "@jest/types": "^24.9.0", "chalk": "^2.0.1", "exit": "^0.1.2", "import-local": "^2.0.0", "is-ci": "^2.0.0", "jest-config": "^24.9.0", "jest-util": "^24.9.0", "jest-validate": "^24.9.0", "prompts": "^2.0.1", "realpath-native": "^1.1.0", "yargs": "^13.3.0" } } } }, "jest-changed-files": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", "dev": true, "requires": { "@jest/types": "^24.9.0", "execa": "^1.0.0", "throat": "^4.0.0" } }, "jest-config": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", "@jest/test-sequencer": "^24.9.0", "@jest/types": "^24.9.0", "babel-jest": "^24.9.0", "chalk": "^2.0.1", "glob": "^7.1.1", "jest-environment-jsdom": "^24.9.0", "jest-environment-node": "^24.9.0", "jest-get-type": "^24.9.0", "jest-jasmine2": "^24.9.0", "jest-regex-util": "^24.3.0", "jest-resolve": "^24.9.0", "jest-util": "^24.9.0", "jest-validate": "^24.9.0", "micromatch": "^3.1.10", "pretty-format": "^24.9.0", "realpath-native": "^1.1.0" } }, "jest-diff": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", "dev": true, "requires": { "chalk": "^2.0.1", "diff-sequences": "^24.9.0", "jest-get-type": "^24.9.0", "pretty-format": "^24.9.0" } }, "jest-docblock": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", "dev": true, "requires": { "detect-newline": "^2.1.0" } }, "jest-each": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", "dev": true, "requires": { "@jest/types": "^24.9.0", "chalk": "^2.0.1", "jest-get-type": "^24.9.0", "jest-util": "^24.9.0", "pretty-format": "^24.9.0" } }, "jest-environment-jsdom": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", "dev": true, "requires": { "@jest/environment": "^24.9.0", "@jest/fake-timers": "^24.9.0", "@jest/types": "^24.9.0", "jest-mock": "^24.9.0", "jest-util": "^24.9.0", "jsdom": "^11.5.1" } }, "jest-environment-node": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", "dev": true, "requires": { "@jest/environment": "^24.9.0", "@jest/fake-timers": "^24.9.0", "@jest/types": "^24.9.0", "jest-mock": "^24.9.0", "jest-util": "^24.9.0" } }, "jest-get-type": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", "dev": true }, "jest-haste-map": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", "dev": true, "requires": { "@jest/types": "^24.9.0", "anymatch": "^2.0.0", "fb-watchman": "^2.0.0", "fsevents": "^1.2.7", "graceful-fs": "^4.1.15", "invariant": "^2.2.4", "jest-serializer": "^24.9.0", "jest-util": "^24.9.0", "jest-worker": "^24.9.0", "micromatch": "^3.1.10", "sane": "^4.0.3", "walker": "^1.0.7" } }, "jest-jasmine2": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", "@jest/environment": "^24.9.0", "@jest/test-result": "^24.9.0", "@jest/types": "^24.9.0", "chalk": "^2.0.1", "co": "^4.6.0", "expect": "^24.9.0", "is-generator-fn": "^2.0.0", "jest-each": "^24.9.0", "jest-matcher-utils": "^24.9.0", "jest-message-util": "^24.9.0", "jest-runtime": "^24.9.0", "jest-snapshot": "^24.9.0", "jest-util": "^24.9.0", "pretty-format": "^24.9.0", "throat": "^4.0.0" } }, "jest-leak-detector": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", "dev": true, "requires": { "jest-get-type": "^24.9.0", "pretty-format": "^24.9.0" } }, "jest-matcher-utils": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", "dev": true, "requires": { "chalk": "^2.0.1", "jest-diff": "^24.9.0", "jest-get-type": "^24.9.0", "pretty-format": "^24.9.0" } }, "jest-message-util": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "@jest/test-result": "^24.9.0", "@jest/types": "^24.9.0", "@types/stack-utils": "^1.0.1", "chalk": "^2.0.1", "micromatch": "^3.1.10", "slash": "^2.0.0", "stack-utils": "^1.0.1" } }, "jest-mock": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", "dev": true, "requires": { "@jest/types": "^24.9.0" } }, "jest-pnp-resolver": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", "dev": true }, "jest-regex-util": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", "dev": true }, "jest-resolve": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", "dev": true, "requires": { "@jest/types": "^24.9.0", "browser-resolve": "^1.11.3", "chalk": "^2.0.1", "jest-pnp-resolver": "^1.2.1", "realpath-native": "^1.1.0" } }, "jest-resolve-dependencies": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", "dev": true, "requires": { "@jest/types": "^24.9.0", "jest-regex-util": "^24.3.0", "jest-snapshot": "^24.9.0" } }, "jest-runner": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", "dev": true, "requires": { "@jest/console": "^24.7.1", "@jest/environment": "^24.9.0", "@jest/test-result": "^24.9.0", "@jest/types": "^24.9.0", "chalk": "^2.4.2", "exit": "^0.1.2", "graceful-fs": "^4.1.15", "jest-config": "^24.9.0", "jest-docblock": "^24.3.0", "jest-haste-map": "^24.9.0", "jest-jasmine2": "^24.9.0", "jest-leak-detector": "^24.9.0", "jest-message-util": "^24.9.0", "jest-resolve": "^24.9.0", "jest-runtime": "^24.9.0", "jest-util": "^24.9.0", "jest-worker": "^24.6.0", "source-map-support": "^0.5.6", "throat": "^4.0.0" } }, "jest-runtime": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", "dev": true, "requires": { "@jest/console": "^24.7.1", "@jest/environment": "^24.9.0", "@jest/source-map": "^24.3.0", "@jest/transform": "^24.9.0", "@jest/types": "^24.9.0", "@types/yargs": "^13.0.0", "chalk": "^2.0.1", "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.1.15", "jest-config": "^24.9.0", "jest-haste-map": "^24.9.0", "jest-message-util": "^24.9.0", "jest-mock": "^24.9.0", "jest-regex-util": "^24.3.0", "jest-resolve": "^24.9.0", "jest-snapshot": "^24.9.0", "jest-util": "^24.9.0", "jest-validate": "^24.9.0", "realpath-native": "^1.1.0", "slash": "^2.0.0", "strip-bom": "^3.0.0", "yargs": "^13.3.0" } }, "jest-serializer": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", "dev": true }, "jest-snapshot": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", "dev": true, "requires": { "@babel/types": "^7.0.0", "@jest/types": "^24.9.0", "chalk": "^2.0.1", "expect": "^24.9.0", "jest-diff": "^24.9.0", "jest-get-type": "^24.9.0", "jest-matcher-utils": "^24.9.0", "jest-message-util": "^24.9.0", "jest-resolve": "^24.9.0", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "pretty-format": "^24.9.0", "semver": "^6.2.0" } }, "jest-util": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", "dev": true, "requires": { "@jest/console": "^24.9.0", "@jest/fake-timers": "^24.9.0", "@jest/source-map": "^24.9.0", "@jest/test-result": "^24.9.0", "@jest/types": "^24.9.0", "callsites": "^3.0.0", "chalk": "^2.0.1", "graceful-fs": "^4.1.15", "is-ci": "^2.0.0", "mkdirp": "^0.5.1", "slash": "^2.0.0", "source-map": "^0.6.0" } }, "jest-validate": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", "dev": true, "requires": { "@jest/types": "^24.9.0", "camelcase": "^5.3.1", "chalk": "^2.0.1", "jest-get-type": "^24.9.0", "leven": "^3.1.0", "pretty-format": "^24.9.0" } }, "jest-watcher": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", "dev": true, "requires": { "@jest/test-result": "^24.9.0", "@jest/types": "^24.9.0", "@types/yargs": "^13.0.0", "ansi-escapes": "^3.0.0", "chalk": "^2.0.1", "jest-util": "^24.9.0", "string-length": "^2.0.0" } }, "jest-worker": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "dev": true, "requires": { "merge-stream": "^2.0.0", "supports-color": "^6.1.0" }, "dependencies": { "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { "has-flag": "^3.0.0" } } } }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, "jsdom": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { "abab": "^2.0.0", "acorn": "^5.5.3", "acorn-globals": "^4.1.0", "array-equal": "^1.0.0", "cssom": ">= 0.3.2 < 0.4.0", "cssstyle": "^1.0.0", "data-urls": "^1.0.0", "domexception": "^1.0.1", "escodegen": "^1.9.1", "html-encoding-sniffer": "^1.0.2", "left-pad": "^1.3.0", "nwsapi": "^2.0.7", "parse5": "4.0.0", "pn": "^1.1.0", "request": "^2.87.0", "request-promise-native": "^1.0.5", "sax": "^1.2.4", "symbol-tree": "^3.2.2", "tough-cookie": "^2.3.4", "w3c-hr-time": "^1.0.1", "webidl-conversions": "^4.0.2", "whatwg-encoding": "^1.0.3", "whatwg-mimetype": "^2.1.0", "whatwg-url": "^6.4.1", "ws": "^5.2.0", "xml-name-validator": "^3.0.0" }, "dependencies": { "acorn": { "version": "5.7.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", "dev": true } } }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "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.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-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": "2.1.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "dev": true, "requires": { "minimist": "^1.2.0" }, "dependencies": { "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "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": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true }, "kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, "lcov-parse": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", "dev": true }, "left-pad": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", "dev": true }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "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" } }, "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.2", "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" } }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, "lodash.unescape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", "dev": true }, "log-driver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", "dev": true }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "requires": { "pify": "^4.0.1", "semver": "^5.6.0" }, "dependencies": { "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "make-error": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", "dev": true }, "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.x" } }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { "object-visit": "^1.0.0" } }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } }, "mime-db": { "version": "1.40.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", "dev": true }, "mime-types": { "version": "2.1.24", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", "dev": true, "requires": { "mime-db": "1.40.0" } }, "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" } } } }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, "nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", "dev": true, "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "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-windows": "^1.0.2", "kind-of": "^6.0.2", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" } }, "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 }, "neo-async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "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-modules-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", "dev": true }, "node-notifier": { "version": "5.4.2", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.2.tgz", "integrity": "sha512-85nkTziazE2dR4pyoLxMwz0b9MmxFQPVXYs/WlWI7CPtBkARJOV+89khdNjpbclXIJDECQYnTvh1xuZV3WHkCA==", "dev": true, "requires": { "growly": "^1.3.0", "is-wsl": "^2.1.0", "semver": "^6.3.0", "shellwords": "^0.1.1", "which": "^1.3.1" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" }, "dependencies": { "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { "path-key": "^2.0.0" } }, "nwsapi": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz", "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==", "dev": true }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "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.0" } }, "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.5.1" } }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { "isobject": "^3.0.1" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" } }, "onetime": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", "dev": true, "requires": { "mimic-fn": "^2.1.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.1", "wordwrap": "~0.0.2" }, "dependencies": { "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "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.4", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "wordwrap": "~1.0.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-each-series": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", "dev": true, "requires": { "p-reduce": "^1.0.0" } }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { "p-limit": "^2.0.0" } }, "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-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^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" } }, "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-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, "path-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" } }, "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": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pirates": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", "dev": true, "requires": { "node-modules-regexp": "^1.0.0" } }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { "find-up": "^3.0.0" } }, "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 }, "prettier": { "version": "1.18.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", "dev": true }, "pretty-format": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", "dev": true, "requires": { "@jest/types": "^24.9.0", "ansi-regex": "^4.0.0", "ansi-styles": "^3.2.0", "react-is": "^16.8.4" }, "dependencies": { "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true } } }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "prompts": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz", "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==", "dev": true, "requires": { "kleur": "^3.0.3", "sisteransi": "^1.0.3" } }, "psl": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz", "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==", "dev": true }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "react-is": { "version": "16.9.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz", "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==", "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.3.2", "path-type": "^3.0.0" } }, "read-pkg-up": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", "dev": true, "requires": { "find-up": "^3.0.0", "read-pkg": "^3.0.0" } }, "realpath-native": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", "dev": true, "requires": { "util.promisify": "^1.0.0" } }, "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" } }, "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true }, "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.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "har-validator": "~5.1.0", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, "dependencies": { "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" } } } }, "request-promise-core": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", "dev": true, "requires": { "lodash": "^4.17.11" } }, "request-promise-native": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", "dev": true, "requires": { "request-promise-core": "1.1.2", "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-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "resolve": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", "dev": true, "requires": { "path-parse": "^1.0.6" } }, "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" }, "dependencies": { "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-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 }, "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": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { "onetime": "^5.1.0", "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 }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { "glob": "^7.1.3" } }, "rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, "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" } }, "rxjs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { "ret": "~0.1.10" } }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "sane": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", "dev": true, "requires": { "@cnakazawa/watch": "^1.0.3", "anymatch": "^2.0.0", "capture-exit": "^2.0.0", "exec-sh": "^0.3.2", "execa": "^1.0.0", "fb-watchman": "^2.0.0", "micromatch": "^3.1.4", "minimist": "^1.1.1", "walker": "~1.0.5" }, "dependencies": { "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, "semver": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", "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-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "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 }, "sisteransi": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz", "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==", "dev": true }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true }, "slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "requires": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" } }, "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.1", "debug": "^2.2.0", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "map-cache": "^0.2.2", "source-map": "^0.5.6", "source-map-resolve": "^0.5.0", "use": "^3.1.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "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.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "snapdragon-node": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "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.0" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } } } }, "snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "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-resolve": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { "atob": "^2.1.1", "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.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", "dev": true }, "spdx-expression-parse": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", "dashdash": "^1.12.0", "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" } }, "stack-utils": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", "dev": true }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" } } } }, "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 }, "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": { "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": "4.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^5.2.0" }, "dependencies": { "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true } } }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { "ansi-regex": "^4.1.0" }, "dependencies": { "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true } } }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "strip-json-comments": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", "dev": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" } }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { "ajv": "^6.10.2", "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" }, "dependencies": { "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } } } }, "test-exclude": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", "dev": true, "requires": { "glob": "^7.1.3", "minimatch": "^3.0.4", "read-pkg-up": "^4.0.0", "require-main-filename": "^2.0.0" } }, "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 }, "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 }, "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": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" } }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" } }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.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" } }, "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 }, "ts-jest": { "version": "24.1.0", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.1.0.tgz", "integrity": "sha512-HEGfrIEAZKfu1pkaxB9au17b1d9b56YZSqz5eCVE8mX68+5reOvlM93xGOzzCREIov9mdH7JBG+s0UyNAqr0tQ==", "dev": true, "requires": { "bs-logger": "0.x", "buffer-from": "1.x", "fast-json-stable-stringify": "2.x", "json5": "2.x", "lodash.memoize": "4.x", "make-error": "1.x", "mkdirp": "0.x", "resolve": "1.x", "semver": "^5.5", "yargs-parser": "10.x" }, "dependencies": { "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "yargs-parser": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { "camelcase": "^4.1.0" } } } }, "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, "tsutils": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.14.1.tgz", "integrity": "sha512-kiuZzD1uUA5DxGj/uxbde+ymp6VVdAxdzOIlAFbYKrPyla8/uiJ9JLBm1QsPhOm4Muj0/+cWEDP99yoCUcSl6Q==", "dev": true, "requires": { "tslib": "^1.8.1" } }, "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.0.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 }, "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" } }, "type-fest": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==", "dev": true }, "typescript": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz", "integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==", "dev": true }, "uglify-js": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", "dev": true, "optional": true, "requires": { "commander": "~2.20.0", "source-map": "~0.6.1" } }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" } }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" }, "dependencies": { "has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", "isobject": "^2.0.0" }, "dependencies": { "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" } } } }, "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true } } }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { "punycode": "^2.1.0" } }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, "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.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, "v8-compile-cache": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", "dev": true }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "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.2.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" } }, "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.x" } }, "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.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, "requires": { "iconv-lite": "0.4.24" } }, "whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", "dev": true }, "whatwg-url": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", "webidl-conversions": "^4.0.2" } }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" } }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", "strip-ansi": "^5.0.0" }, "dependencies": { "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "requires": { "mkdirp": "^0.5.1" } }, "write-file-atomic": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", "dev": true, "requires": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", "signal-exit": "^3.0.2" } }, "ws": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { "async-limiter": "~1.0.0" } }, "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 }, "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, "yargs": { "version": "13.3.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", "dev": true, "requires": { "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^13.1.1" }, "dependencies": { "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } } } }, "yargs-parser": { "version": "13.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } } } } css-what-3.2.1/package.json000066400000000000000000000024531356163777200155610ustar00rootroot00000000000000{ "author": "Felix Böhm (http://feedic.com)", "name": "css-what", "description": "a CSS selector parser", "version": "3.2.1", "repository": { "url": "https://github.com/fb55/css-what" }, "main": "lib/index.js", "types": "lib/index.d.ts", "files": [ "lib/**/*" ], "scripts": { "test": "jest --coverage -u && npm run lint", "coverage": "cat coverage/lcov.info | coveralls", "lint": "eslint --ext=js,ts src", "format": "prettier --write '**/*.{ts,md,json}'", "build": "tsc", "prepare": "npm run build" }, "dependencies": {}, "devDependencies": { "@types/jest": "^24.0.16", "@types/node": "^12.6.2", "@typescript-eslint/eslint-plugin": "^1.12.0", "@typescript-eslint/parser": "^1.12.0", "coveralls": "^3.0.5", "eslint": "^6.0.1", "eslint-config-prettier": "^6.0.0", "jest": "^24.8.0", "prettier": "^1.18.2", "ts-jest": "^24.0.2", "typescript": "^3.5.3" }, "optionalDependencies": {}, "engines": { "node": ">= 6" }, "license": "BSD-2-Clause", "jest": { "preset": "ts-jest", "testEnvironment": "node" }, "prettier": { "tabWidth": 4 } } css-what-3.2.1/readme.md000066400000000000000000000111311356163777200150430ustar00rootroot00000000000000# css-what [![Build Status](https://secure.travis-ci.org/fb55/css-what.svg?branch=master)](http://travis-ci.org/fb55/css-what) a CSS selector parser ## Example ```js const CSSwhat = require("css-what") CSSwhat.parse("foo[bar]:baz") ~> [ [ { type: "tag", name: "foo" }, { type: "attribute", name: "bar", action: "exists", value: "", ignoreCase: false }, { type: "pseudo", name: "baz", data: null } ] ] ``` ## API **`CSSwhat.parse(str, options)` - Parses `str`, optionally with the passed `options`.** The function returns a two-dimensional array. The first array represents selectors separated by commas (eg. `sub1, sub2`), the second contains the relevant tokens for that selector. Possible token types are: | name | attributes | example | output | | ---------------- | --------------------------------------- | ------------- | ---------------------------------------------------------------------------------------- | | `tag` | `name` | `div` | `{ type: 'tag', name: 'div' }` | | `universal` | - | `*` | `{ type: 'universal' }` | | `pseudo` | `name`, `data` | `:name(data)` | `{ type: 'pseudo', name: 'name', data: 'data' }` | | `pseudo` | `name`, `data` | `:name` | `{ type: 'pseudo', name: 'name', data: null }` | | `pseudo-element` | `name` | `::name` | `{ type: 'pseudo-element', name: 'name' }` | | `attribute` | `name`, `action`, `value`, `ignoreCase` | `[attr]` | `{ type: 'attribute', name: 'attr', action: 'exists', value: '', ignoreCase: false }` | | `attribute` | `name`, `action`, `value`, `ignoreCase` | `[attr=val]` | `{ type: 'attribute', name: 'attr', action: 'equals', value: 'val', ignoreCase: false }` | | `attribute` | `name`, `action`, `value`, `ignoreCase` | `[attr^=val]` | `{ type: 'attribute', name: 'attr', action: 'start', value: 'val', ignoreCase: false }` | | `attribute` | `name`, `action`, `value`, `ignoreCase` | `[attr$=val]` | `{ type: 'attribute', name: 'attr', action: 'end', value: 'val', ignoreCase: false }` | | `child` | - | `>` | `{ type: 'child' }` | | `parent` | - | `<` | `{ type: 'parent' }` | | `sibling` | - | `~` | `{ type: 'sibling' }` | | `adjacent` | - | `+` | `{ type: 'adjacent' }` | | `descendant` | - | | `{ type: 'descendant' }` | **Options:** - `lowerCaseTags`: When false, tag names will not be lowercased. Defaults to `true`. - `lowerCaseAttributeNames`: When false, attribute names will not be lowercased. Defaults to `true`. - `xmlMode`: When `true`, `xmlMode` implies both `lowerCaseTags` and `lowerCaseAttributeNames` are set to `false`. **`CSSwhat.stringify(selector)` - Turns `selector` back into a string.** --- License: BSD-2-Clause ## Security contact information To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure. ## `css-what` for enterprise Available as part of the Tidelift Subscription The maintainers of `css-what` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-css-what?utm_source=npm-css-what&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) css-what-3.2.1/src/000077500000000000000000000000001356163777200140565ustar00rootroot00000000000000css-what-3.2.1/src/__fixtures__/000077500000000000000000000000001356163777200165235ustar00rootroot00000000000000css-what-3.2.1/src/__fixtures__/out.json000066400000000000000000013472271356163777200202450ustar00rootroot00000000000000{ "": [[]], "\t": [[]], "\t#qunit-fixture p": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "\n#qunit-fixture p": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "\f#qunit-fixture p": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "\r#qunit-fixture p": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], " ": [[]], " #qunit-fixture p": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], " a ": [ [ { "type": "tag", "name": "a" } ] ], " p ": [ [ { "type": "tag", "name": "p" } ] ], "#__sizzle__": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "__sizzle__", "ignoreCase": false } ] ], "#ap :nth-last-of-type(0n+3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "0n+3" } ] ], "#ap :nth-last-of-type(2n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "2n" } ] ], "#ap :nth-last-of-type(2n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "2n+1" } ] ], "#ap :nth-last-of-type(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "3" } ] ], "#ap :nth-last-of-type(even)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "even" } ] ], "#ap :nth-last-of-type(n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "n" } ] ], "#ap :nth-last-of-type(odd)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "odd" } ] ], "#ap :nth-of-type(0n+3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-of-type", "data": "0n+3" } ] ], "#ap :nth-of-type(2n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-of-type", "data": "2n" } ] ], "#ap :nth-of-type(2n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-of-type", "data": "2n+1" } ] ], "#ap :nth-of-type(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-of-type", "data": "3" } ] ], "#ap :nth-of-type(even)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-of-type", "data": "even" } ] ], "#ap :nth-of-type(n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-of-type", "data": "n" } ] ], "#ap :nth-of-type(odd)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-of-type", "data": "odd" } ] ], "#ap a[hreflang!='en']": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "hreflang", "action": "not", "value": "en", "ignoreCase": false } ] ], "#ap:has(*), #ap:has(*)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ] ] } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ] ] } ] ], "#asdfasdf #foobar": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "asdfasdf", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "foobar", "ignoreCase": false } ] ], "#attr-child-boosh": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attr-child-boosh", "ignoreCase": false } ] ], "#attributes a[href=\"#aname\"]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "equals", "value": "#aname", "ignoreCase": false } ] ], "#attributes div[test$=foo]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "end", "value": "foo", "ignoreCase": false } ] ], "#attributes div[test*=hree]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "any", "value": "hree", "ignoreCase": false } ] ], "#attributes div[test=\"two-foo\"]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "equals", "value": "two-foo", "ignoreCase": false } ] ], "#attributes div[test='two-foo']": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "equals", "value": "two-foo", "ignoreCase": false } ] ], "#attributes div[test=two-foo]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "equals", "value": "two-foo", "ignoreCase": false } ] ], "#attributes div[test^=two]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "start", "value": "two", "ignoreCase": false } ] ], "#attributes div[test|=\"two-foo\"]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "hyphen", "value": "two-foo", "ignoreCase": false } ] ], "#attributes div[test|=two]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "hyphen", "value": "two", "ignoreCase": false } ] ], "#attributes div[test~=three]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "element", "value": "three", "ignoreCase": false } ] ], "#attributes div[unique-test]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "attributes", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "unique-test", "action": "exists", "value": "", "ignoreCase": false } ] ], "#backslash\\\\foo": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "backslash\\foo", "ignoreCase": false } ] ], "#blargh": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "blargh", "ignoreCase": false } ] ], "#body": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "body", "ignoreCase": false } ] ], "#boosh": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false } ] ], "#boosh #booshTest": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "booshTest", "ignoreCase": false } ] ], "#boosh *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" } ] ], "#boosh .a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false } ] ], "#boosh div": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], "#boosh div div": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], "#boosh div,#boosh span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "span" } ] ], "#boosh div.a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false } ] ], "#boosh div[test=fg]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "equals", "value": "fg", "ignoreCase": false } ] ], "#boosh div[test]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "test", "action": "exists", "value": "", "ignoreCase": false } ] ], "#boosh span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "span" } ] ], "#boosh,#boosh": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false } ] ], "#boosh,.apples,#boosh": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false } ], [ { "type": "attribute", "name": "class", "action": "element", "value": "apples", "ignoreCase": false } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false } ] ], "#boosh>.a>#booshTest": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "booshTest", "ignoreCase": false } ] ], "#booshTest": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "booshTest", "ignoreCase": false } ] ], "#direct-descend > .direct-descend": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "direct-descend", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "direct-descend", "ignoreCase": false } ] ], "#direct-descend > .direct-descend > .lvl2": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "direct-descend", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "direct-descend", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "lvl2", "ignoreCase": false } ] ], "#dupContainer span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "dupContainer", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "span" } ] ], "#dupL1": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "dupL1", "ignoreCase": false } ] ], "#dupL2": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "dupL2", "ignoreCase": false } ] ], "#emem": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "emem", "ignoreCase": false } ] ], "#first ~ div": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "first", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "div" } ] ], "#firstUL > *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "firstUL", "ignoreCase": false }, { "type": "child" }, { "type": "universal" } ] ], "#firstp #foobar": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "firstp", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "foobar", "ignoreCase": false } ] ], "#firstp #simon1": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "firstp", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "simon1", "ignoreCase": false } ] ], "#fixtures": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "fixtures", "ignoreCase": false } ] ], "#fixtures a *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "fixtures", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "descendant" }, { "type": "universal" } ] ], "#fixtures h1": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "fixtures", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "h1" } ] ], "#foo": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "foo", "ignoreCase": false } ] ], "#foo > *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "foo", "ignoreCase": false }, { "type": "child" }, { "type": "universal" } ] ], "#foo a:not(.blog)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "foo", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "blog", "ignoreCase": false } ] ] } ] ], "#foo a:not(.blog.link)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "foo", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "blog", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "link", "ignoreCase": false } ] ] } ] ], "#foo a:not(.link)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "foo", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "link", "ignoreCase": false } ] ] } ] ], "#foo\\:bar": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "foo:bar", "ignoreCase": false } ] ], "#foo\\:bar span:not(:input)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "foo:bar", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "span" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "input", "data": null } ] ] } ] ], "#form": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false } ] ], "#form #first": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "first", "ignoreCase": false } ] ], "#form :checkbox": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "checkbox", "data": null } ] ], "#form :checkbox:checked": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "checkbox", "data": null }, { "type": "pseudo", "name": "checked", "data": null } ] ], "#form :input": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "input", "data": null } ] ], "#form :radio": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "radio", "data": null } ] ], "#form :radio:checked": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "radio", "data": null }, { "type": "pseudo", "name": "checked", "data": null } ] ], "#form :radio:checked, #form :checkbox:checked": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "radio", "data": null }, { "type": "pseudo", "name": "checked", "data": null } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "checkbox", "data": null }, { "type": "pseudo", "name": "checked", "data": null } ] ], "#form :text": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "text", "data": null } ] ], "#form > #option1a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "option1a", "ignoreCase": false } ] ], "#form > #radio1": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "radio1", "ignoreCase": false } ] ], "#form [for=action]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "for", "action": "equals", "value": "action", "ignoreCase": false } ] ], "#form input[type='radio'], #form input[type=\"hidden\"]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "type", "action": "equals", "value": "radio", "ignoreCase": false } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "type", "action": "equals", "value": "hidden", "ignoreCase": false } ] ], "#form input[type='radio'], #form input[type='hidden']": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "type", "action": "equals", "value": "radio", "ignoreCase": false } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "type", "action": "equals", "value": "hidden", "ignoreCase": false } ] ], "#form input[type='radio'], #form input[type=hidden]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "type", "action": "equals", "value": "radio", "ignoreCase": false } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "type", "action": "equals", "value": "hidden", "ignoreCase": false } ] ], "#form input[type=search]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "type", "action": "equals", "value": "search", "ignoreCase": false } ] ], "#form input[type=text]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "type", "action": "equals", "value": "text", "ignoreCase": false } ] ], "#form option:checked": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "checked", "data": null } ] ], "#form option:not(:contains(Nothing),#option1b,:selected)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "contains", "data": "Nothing" } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "option1b", "ignoreCase": false } ], [ { "type": "pseudo", "name": "selected", "data": null } ] ] } ] ], "#form option:not(:not(:selected))[id^='option3']": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "selected", "data": null } ] ] } ] ] }, { "type": "attribute", "name": "id", "action": "start", "value": "option3", "ignoreCase": false } ] ], "#form option:selected": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "selected", "data": null } ] ], "#form select:has(option:first-child:contains('o'))": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "select" }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "first-child", "data": null }, { "type": "pseudo", "name": "contains", "data": "o" } ] ] } ] ], "#form select:not(.select1):contains(Nothing) > option:not(option)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "select" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "select1", "ignoreCase": false } ] ] }, { "type": "pseudo", "name": "contains", "data": "Nothing" }, { "type": "child" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "option" } ] ] } ] ], "#form select:not([multiple])": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "select" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "multiple", "action": "exists", "value": "", "ignoreCase": false } ] ] } ] ], "#form select:not([name='select1'])": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "select" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "select1", "ignoreCase": false } ] ] } ] ], "#form select:not([name=select1])": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "select" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "select1", "ignoreCase": false } ] ] } ] ], "#grandfather > div:not(#uncle) #son": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "grandfather", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "uncle", "ignoreCase": false } ] ] }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "son", "ignoreCase": false } ] ], "#groups ~ a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "groups", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "a" } ] ], "#hidden1:enabled": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "hidden1", "ignoreCase": false }, { "type": "pseudo", "name": "enabled", "data": null } ] ], "#hsoob": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "hsoob", "ignoreCase": false } ] ], "#hsoob #spanny": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "hsoob", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "spanny", "ignoreCase": false } ] ], "#hsoob .a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "hsoob", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false } ] ], "#hsoob > div > .h": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "hsoob", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "div" }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "h", "ignoreCase": false } ] ], "#hsoob div": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "hsoob", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], "#hsoob div div": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "hsoob", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], "#hsoob div.a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "hsoob", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false } ] ], "#hsoob span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "hsoob", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "span" } ] ], "#idTest": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "idTest", "ignoreCase": false } ] ], "#item_1": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "item_1", "ignoreCase": false } ] ], "#item_3": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "item_3", "ignoreCase": false } ] ], "#length ~ input": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "length", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "input" } ] ], "#lengthtest": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "lengthtest", "ignoreCase": false } ] ], "#level1 *:first-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "#level1 *:last-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "#level1 *:only-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "pseudo", "name": "only-child", "data": null } ] ], "#level1 *[id$=\"_1\"]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "attribute", "name": "id", "action": "end", "value": "_1", "ignoreCase": false } ] ], "#level1 *[id$=_1]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "attribute", "name": "id", "action": "end", "value": "_1", "ignoreCase": false } ] ], "#level1 *[id*=\"2\"]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "attribute", "name": "id", "action": "any", "value": "2", "ignoreCase": false } ] ], "#level1 *[id^=\"level2_\"]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "attribute", "name": "id", "action": "start", "value": "level2_", "ignoreCase": false } ] ], "#level1 *[id^=level2_]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "attribute", "name": "id", "action": "start", "value": "level2_", "ignoreCase": false } ] ], "#level1 > span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "span" } ] ], "#level1 div:last-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "#level1 span:first-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "span" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "#level1:first-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "#level1:only-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "pseudo", "name": "only-child", "data": null } ] ], "#level1>*:first-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "child" }, { "type": "universal" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "#level1>*:last-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "child" }, { "type": "universal" }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "#level1>*:only-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "child" }, { "type": "universal" }, { "type": "pseudo", "name": "only-child", "data": null } ] ], "#level1>div:first-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "#level1>div:last-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "#level1>span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "span" } ] ], "#level1>span:last-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level1", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "span" }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "#level2_1 + *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_1", "ignoreCase": false }, { "type": "adjacent" }, { "type": "universal" } ] ], "#level2_1 + span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_1", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "span" } ] ], "#level2_1 > *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_1", "ignoreCase": false }, { "type": "child" }, { "type": "universal" } ] ], "#level2_1 ~ *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_1", "ignoreCase": false }, { "type": "sibling" }, { "type": "universal" } ] ], "#level2_1 ~ span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_1", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "span" } ] ], "#level2_1+span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_1", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "span" } ] ], "#level2_2 + span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_2", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "span" } ] ], "#level2_2 :only-child:not(:first-child)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_2", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "only-child", "data": null }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "first-child", "data": null } ] ] } ] ], "#level2_2 :only-child:not(:last-child)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_2", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "only-child", "data": null }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "last-child", "data": null } ] ] } ] ], "#level2_2 ~ span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level2_2", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "span" } ] ], "#level3_1 + *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level3_1", "ignoreCase": false }, { "type": "adjacent" }, { "type": "universal" } ] ], "#level3_1 + em": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level3_1", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "em" } ] ], "#level3_1 + span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level3_1", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "span" } ] ], "#level3_1 ~ #level3_2": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level3_1", "ignoreCase": false }, { "type": "sibling" }, { "type": "attribute", "name": "id", "action": "equals", "value": "level3_2", "ignoreCase": false } ] ], "#level3_1 ~ em": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level3_1", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "em" } ] ], "#level3_1:empty": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level3_1", "ignoreCase": false }, { "type": "pseudo", "name": "empty", "data": null } ] ], "#level3_2 + *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level3_2", "ignoreCase": false }, { "type": "adjacent" }, { "type": "universal" } ] ], "#level3_2 ~ *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "level3_2", "ignoreCase": false }, { "type": "sibling" }, { "type": "universal" } ] ], "#link_2.internal": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "link_2", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false } ] ], "#link_2.internal.highlight": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "link_2", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "highlight", "ignoreCase": false } ] ], "#link_2.internal.nonexistent": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "link_2", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "nonexistent", "ignoreCase": false } ] ], "#list > li:nth-child(-n+2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "list", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-child", "data": "-n+2" } ] ], "#list > li:nth-child(n+2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "list", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-child", "data": "n+2" } ] ], "#list li:not(#item_1):not(#item_3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "list", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "item_1", "ignoreCase": false } ] ] }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "item_3", "ignoreCase": false } ] ] } ] ], "#list>li": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "list", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "li" } ] ], "#listWithTabIndex": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "listWithTabIndex", "ignoreCase": false } ] ], "#liveHandlerOrder ~ div em:contains('1')": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "liveHandlerOrder", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "em" }, { "type": "pseudo", "name": "contains", "data": "1" } ] ], "#lonelyBoosh": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "lonelyBoosh", "ignoreCase": false } ] ], "#lonelyHsoob": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "lonelyHsoob", "ignoreCase": false } ] ], "#moretests script[src]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "moretests", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "script" }, { "type": "attribute", "name": "src", "action": "exists", "value": "", "ignoreCase": false } ] ], "#name\\+value": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "name+value", "ignoreCase": false } ] ], "#nonexistent:has(*), #ap:has(*)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "nonexistent", "ignoreCase": false }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ] ] } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "ap", "ignoreCase": false }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ] ] } ] ], "#oooo": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "oooo", "ignoreCase": false } ] ], "#order-matters .order-matters": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "order-matters", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "order-matters", "ignoreCase": false } ] ], "#p *:nth-child(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "pseudo", "name": "nth-child", "data": "3" } ] ], "#p a:first-of-type": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "first-of-type", "data": null } ] ], "#p a:last-of-type": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "last-of-type", "data": null } ] ], "#p a:not(:first-of-type)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "first-of-type", "data": null } ] ] } ] ], "#p a:not(:last-of-type)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "last-of-type", "data": null } ] ] } ] ], "#p a:not(:nth-last-of-type(1))": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "nth-last-of-type", "data": "1" } ] ] } ] ], "#p a:not(:nth-of-type(1))": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "nth-of-type", "data": "1" } ] ] } ] ], "#p a:not([rel$=\"nofollow\"]) > em": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "rel", "action": "end", "value": "nofollow", "ignoreCase": false } ] ] }, { "type": "child" }, { "type": "tag", "name": "em" } ] ], "#p a:not([rel$=\"nofollow\"]) em": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "rel", "action": "end", "value": "nofollow", "ignoreCase": false } ] ] }, { "type": "descendant" }, { "type": "tag", "name": "em" } ] ], "#p a:not([rel$=\"nofollow\"])>em": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "rel", "action": "end", "value": "nofollow", "ignoreCase": false } ] ] }, { "type": "child" }, { "type": "tag", "name": "em" } ] ], "#p a:not([rel$=nofollow])": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "rel", "action": "end", "value": "nofollow", "ignoreCase": false } ] ] } ] ], "#p a:not([rel^=external])": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "rel", "action": "start", "value": "external", "ignoreCase": false } ] ] } ] ], "#p a:not([rel~=nofollow])": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "rel", "action": "element", "value": "nofollow", "ignoreCase": false } ] ] } ] ], "#p a:nth-child(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "nth-child", "data": "3" } ] ], "#p a:nth-last-of-type(1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "1" } ] ], "#p a:nth-of-type(1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "nth-of-type", "data": "1" } ] ], "#p a:nth-of-type(2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "p", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "nth-of-type", "data": "2" } ] ], "#pseudos :nth-child(+3n-2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-child", "data": "+3n-2" } ] ], "#pseudos :nth-child(-n+5)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-child", "data": "-n+5" } ] ], "#pseudos :nth-child(-n+6)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-child", "data": "-n+6" } ] ], "#pseudos :nth-child(3n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-child", "data": "3n" } ] ], "#pseudos :nth-child(3n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-child", "data": "3n+1" } ] ], "#pseudos :nth-child(3n+2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-child", "data": "3n+2" } ] ], "#pseudos :nth-child(odd)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-child", "data": "odd" } ] ], "#pseudos :nth-last-child(-n+5)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-child", "data": "-n+5" } ] ], "#pseudos :nth-last-child(-n+6)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-child", "data": "-n+6" } ] ], "#pseudos :nth-last-child(3n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n+1" } ] ], "#pseudos :nth-last-child(3n+2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n+2" } ] ], "#pseudos :nth-last-child(3n-2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n-2" } ] ], "#pseudos :nth-last-child(odd)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-child", "data": "odd" } ] ], "#pseudos a:first-of-type": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "first-of-type", "data": null } ] ], "#pseudos a:nth-last-of-type(3n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "3n+1" } ] ], "#pseudos a:nth-of-type(1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "nth-of-type", "data": "1" } ] ], "#pseudos a:nth-of-type(3n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "nth-of-type", "data": "3n" } ] ], "#pseudos a:nth-of-type(3n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "nth-of-type", "data": "3n+1" } ] ], "#pseudos a:nth-of-type(odd)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "nth-of-type", "data": "odd" } ] ], "#pseudos a:only-of-type": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "only-of-type", "data": null } ] ], "#pseudos div:first-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "#pseudos div:last-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "#pseudos div:last-of-type": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "last-of-type", "data": null } ] ], "#pseudos div:nth-child(2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "nth-child", "data": "2" } ] ], "#pseudos div:nth-child(even)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "nth-child", "data": "even" } ] ], "#pseudos div:nth-child(odd)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "nth-child", "data": "odd" } ] ], "#pseudos div:nth-last-child(6)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "nth-last-child", "data": "6" } ] ], "#pseudos div:nth-last-child(even)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "nth-last-child", "data": "even" } ] ], "#pseudos div:nth-last-child(odd)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "nth-last-child", "data": "odd" } ] ], "#pseudos div:nth-last-of-type(3n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "3n+1" } ] ], "#pseudos div:nth-last-of-type(5)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "5" } ] ], "#pseudos div:nth-of-type(3n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "nth-of-type", "data": "3n+1" } ] ], "#pseudos:target": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "pseudos", "ignoreCase": false }, { "type": "pseudo", "name": "target", "data": null } ] ], "#qunit-fixture": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false } ] ], "#qunit-fixture *[title]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "attribute", "name": "title", "action": "exists", "value": "", "ignoreCase": false } ] ], "#qunit-fixture :not(:has(:has(*)))": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ] ] } ] ] } ] ] } ] ], "#qunit-fixture > :nth-last-of-type(-n+2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "child" }, { "type": "pseudo", "name": "nth-last-of-type", "data": "-n+2" } ] ], "#qunit-fixture > :nth-of-type(-n+2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "child" }, { "type": "pseudo", "name": "nth-of-type", "data": "-n+2" } ] ], "#qunit-fixture > :only-of-type": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "child" }, { "type": "pseudo", "name": "only-of-type", "data": null } ] ], "#qunit-fixture > p:first-of-type": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "first-of-type", "data": null } ] ], "#qunit-fixture > p:last-of-type": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "last-of-type", "data": null } ] ], "#qunit-fixture [title]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "title", "action": "exists", "value": "", "ignoreCase": false } ] ], "#qunit-fixture a + a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "adjacent" }, { "type": "tag", "name": "a" } ] ], "#qunit-fixture a + a, code > a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "adjacent" }, { "type": "tag", "name": "a" } ], [ { "type": "tag", "name": "code" }, { "type": "child" }, { "type": "tag", "name": "a" } ] ], "#qunit-fixture a +a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "adjacent" }, { "type": "tag", "name": "a" } ] ], "#qunit-fixture a+ a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "adjacent" }, { "type": "tag", "name": "a" } ] ], "#qunit-fixture a+a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "adjacent" }, { "type": "tag", "name": "a" } ] ], "#qunit-fixture a:last-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "#qunit-fixture a:only-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "only-child", "data": null } ] ], "#qunit-fixture a[ rel = 'bookmark' ]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "rel", "action": "equals", "value": "bookmark", "ignoreCase": false } ] ], "#qunit-fixture a[ title ]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "title", "action": "exists", "value": "", "ignoreCase": false } ] ], "#qunit-fixture a[TITLE]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "title", "action": "exists", "value": "", "ignoreCase": false } ] ], "#qunit-fixture a[href='http://www.google.com/']": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "equals", "value": "http://www.google.com/", "ignoreCase": false } ] ], "#qunit-fixture a[rel='bookmark']": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "rel", "action": "equals", "value": "bookmark", "ignoreCase": false } ] ], "#qunit-fixture a[rel=bookmark]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "rel", "action": "equals", "value": "bookmark", "ignoreCase": false } ] ], "#qunit-fixture a[title]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "title", "action": "exists", "value": "", "ignoreCase": false } ] ], "#qunit-fixture div:has(div:has(div:not([id])))": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "id", "action": "exists", "value": "", "ignoreCase": false } ] ] } ] ] } ] ] } ] ], "#qunit-fixture div[id]:not(:has(div, span)):not(:has(*))": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "exists", "value": "", "ignoreCase": false }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "div" } ], [ { "type": "tag", "name": "span" } ] ] } ] ] }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ] ] } ] ] } ] ], "#qunit-fixture form#form > *:nth-child(2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "form" }, { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "child" }, { "type": "universal" }, { "type": "pseudo", "name": "nth-child", "data": "2" } ] ], "#qunit-fixture form#form > :nth-child(2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "form" }, { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false }, { "type": "child" }, { "type": "pseudo", "name": "nth-child", "data": "2" } ] ], "#qunit-fixture form[id]:not([action$='formaction']):not(:button)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "form" }, { "type": "attribute", "name": "id", "action": "exists", "value": "", "ignoreCase": false }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "action", "action": "end", "value": "formaction", "ignoreCase": false } ] ] }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "button", "data": null } ] ] } ] ], "#qunit-fixture form[id]:not([action='form:action']):not(:button)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "form" }, { "type": "attribute", "name": "id", "action": "exists", "value": "", "ignoreCase": false }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "action", "action": "equals", "value": "form:action", "ignoreCase": false } ] ] }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "button", "data": null } ] ] } ] ], "#qunit-fixture form[id]:not([action='form:action']:button):not(:input)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "form" }, { "type": "attribute", "name": "id", "action": "exists", "value": "", "ignoreCase": false }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "action", "action": "equals", "value": "form:action", "ignoreCase": false }, { "type": "pseudo", "name": "button", "data": null } ] ] }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "input", "data": null } ] ] } ] ], "#qunit-fixture li[tabIndex=-1]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "li" }, { "type": "attribute", "name": "tabindex", "action": "equals", "value": "-1", "ignoreCase": false } ] ], "#qunit-fixture option[value=1]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "attribute", "name": "value", "action": "equals", "value": "1", "ignoreCase": false } ] ], "#qunit-fixture p": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "#qunit-fixture p\t": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "#qunit-fixture p\n": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "#qunit-fixture p\f": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "#qunit-fixture p\r": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "#qunit-fixture p ": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "#qunit-fixture p ~ div": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "sibling" }, { "type": "tag", "name": "div" } ] ], "#qunit-fixture p, #qunit-fixture p a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "descendant" }, { "type": "tag", "name": "a" } ] ], "#qunit-fixture p:FIRST-CHILD": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "#qunit-fixture p:first-child": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "#qunit-fixture p:has(:contains(mark)):has(code)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "pseudo", "name": "contains", "data": "mark" } ] ] }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "code" } ] ] } ] ], "#qunit-fixture p:has(:contains(mark)):has(code):contains(This link)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "pseudo", "name": "contains", "data": "mark" } ] ] }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "code" } ] ] }, { "type": "pseudo", "name": "contains", "data": "This link" } ] ], "#qunit-fixture p:not( a )": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "a" } ] ] } ] ], "#qunit-fixture p:not( p )": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "p" } ] ] } ] ], "#qunit-fixture p:not(#blargh)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "blargh", "ignoreCase": false } ] ] } ] ], "#qunit-fixture p:not(.foo)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "foo", "ignoreCase": false } ] ] } ] ], "#qunit-fixture p:not(:has(a), :nth-child(1))": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "a" } ] ] } ], [ { "type": "pseudo", "name": "nth-child", "data": "1" } ] ] } ] ], "#qunit-fixture p:not(:nth-child(1))": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "nth-child", "data": "1" } ] ] } ] ], "#qunit-fixture p:not(:nth-last-child(1))": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "nth-last-child", "data": "1" } ] ] } ] ], "#qunit-fixture p:not(a)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "a" } ] ] } ] ], "#qunit-fixture p:not(a, b)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "a" } ], [ { "type": "tag", "name": "b" } ] ] } ] ], "#qunit-fixture p:not(a, b, div)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "a" } ], [ { "type": "tag", "name": "b" } ], [ { "type": "tag", "name": "div" } ] ] } ] ], "#qunit-fixture p:not(div#blargh)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "blargh", "ignoreCase": false } ] ] } ] ], "#qunit-fixture p:not(div.foo)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "foo", "ignoreCase": false } ] ] } ] ], "#qunit-fixture p:not(p#blargh)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "p" }, { "type": "attribute", "name": "id", "action": "equals", "value": "blargh", "ignoreCase": false } ] ] } ] ], "#qunit-fixture p:not(p.foo)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "p" }, { "type": "attribute", "name": "class", "action": "element", "value": "foo", "ignoreCase": false } ] ] } ] ], "#qunit-fixture p:parent": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "parent", "data": null } ] ], "#seite1": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "seite1", "ignoreCase": false } ] ], "#select1 *:nth-last-child(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "pseudo", "name": "nth-last-child", "data": "3" } ] ], "#select1 :nth-last-child(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "nth-last-child", "data": "3" } ] ], "#select1 option:NTH-child(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3" } ] ], "#select1 option:NTH-last-child(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3" } ] ], "#select1 option:nth-child(+2n + 1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "+2n + 1" } ] ], "#select1 option:nth-child(-1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "-1" } ] ], "#select1 option:nth-child(-1n + 3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "-1n + 3" } ] ], "#select1 option:nth-child(-1n+3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "-1n+3" } ] ], "#select1 option:nth-child(-n+3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "-n+3" } ] ], "#select1 option:nth-child(1n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "1n" } ] ], "#select1 option:nth-child(1n+0)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "1n+0" } ] ], "#select1 option:nth-child(2n + 1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "2n + 1" } ] ], "#select1 option:nth-child(2n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "2n" } ] ], "#select1 option:nth-child(2n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "2n+1" } ] ], "#select1 option:nth-child(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3" } ] ], "#select1 option:nth-child(3n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3n" } ] ], "#select1 option:nth-child(3n+0)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3n+0" } ] ], "#select1 option:nth-child(3n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3n+1" } ] ], "#select1 option:nth-child(3n+2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3n+2" } ] ], "#select1 option:nth-child(3n+3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3n+3" } ] ], "#select1 option:nth-child(3n-1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3n-1" } ] ], "#select1 option:nth-child(3n-2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3n-2" } ] ], "#select1 option:nth-child(3n-3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "3n-3" } ] ], "#select1 option:nth-child(even)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "even" } ] ], "#select1 option:nth-child(n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "n" } ] ], "#select1 option:nth-child(odd)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-child", "data": "odd" } ] ], "#select1 option:nth-last-child(+2n + 1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "+2n + 1" } ] ], "#select1 option:nth-last-child(-1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "-1" } ] ], "#select1 option:nth-last-child(-1n + 3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "-1n + 3" } ] ], "#select1 option:nth-last-child(-1n+3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "-1n+3" } ] ], "#select1 option:nth-last-child(-n+3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "-n+3" } ] ], "#select1 option:nth-last-child(1n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "1n" } ] ], "#select1 option:nth-last-child(1n+0)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "1n+0" } ] ], "#select1 option:nth-last-child(2n + 1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "2n + 1" } ] ], "#select1 option:nth-last-child(2n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "2n" } ] ], "#select1 option:nth-last-child(2n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "2n+1" } ] ], "#select1 option:nth-last-child(3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3" } ] ], "#select1 option:nth-last-child(3n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n" } ] ], "#select1 option:nth-last-child(3n+0)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n+0" } ] ], "#select1 option:nth-last-child(3n+1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n+1" } ] ], "#select1 option:nth-last-child(3n+2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n+2" } ] ], "#select1 option:nth-last-child(3n+3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n+3" } ] ], "#select1 option:nth-last-child(3n-1)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n-1" } ] ], "#select1 option:nth-last-child(3n-2)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n-2" } ] ], "#select1 option:nth-last-child(3n-3)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "3n-3" } ] ], "#select1 option:nth-last-child(even)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "even" } ] ], "#select1 option:nth-last-child(n)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "n" } ] ], "#select1 option:nth-last-child(odd)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "nth-last-child", "data": "odd" } ] ], "#select1 option:selected": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "selected", "data": null } ] ], "#select1 option[value!='']": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "attribute", "name": "value", "action": "not", "value": "", "ignoreCase": false } ] ], "#select1 option[value='']": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "attribute", "name": "value", "action": "equals", "value": "", "ignoreCase": false } ] ], "#select2 option:selected": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select2", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "selected", "data": null } ] ], "#select2 option[selected='selected']": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select2", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "attribute", "name": "selected", "action": "equals", "value": "selected", "ignoreCase": false } ] ], "#select2 option[selected]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select2", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "attribute", "name": "selected", "action": "exists", "value": "", "ignoreCase": false } ] ], "#select3 option:selected": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select3", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "selected", "data": null } ] ], "#sep": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "sep", "ignoreCase": false } ] ], "#sibling-selector + .sibling-selector": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "sibling-selector", "ignoreCase": false }, { "type": "adjacent" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling-selector", "ignoreCase": false } ] ], "#sibling-selector + div.sibling-selector": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "sibling-selector", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling-selector", "ignoreCase": false } ] ], "#sibling-selector ~ .sibling-selector": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "sibling-selector", "ignoreCase": false }, { "type": "sibling" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling-selector", "ignoreCase": false } ] ], "#sibling-selector ~ div.sibling-selector": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "sibling-selector", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling-selector", "ignoreCase": false } ] ], "#siblingTest > em *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "siblingTest", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "em" }, { "type": "descendant" }, { "type": "universal" } ] ], "#siblingTest > em:contains('x') + em ~ span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "siblingTest", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "em" }, { "type": "pseudo", "name": "contains", "data": "x" }, { "type": "adjacent" }, { "type": "tag", "name": "em" }, { "type": "sibling" }, { "type": "tag", "name": "span" } ] ], "#siblingTest > em:first-child + em ~ span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "siblingTest", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "em" }, { "type": "pseudo", "name": "first-child", "data": null }, { "type": "adjacent" }, { "type": "tag", "name": "em" }, { "type": "sibling" }, { "type": "tag", "name": "span" } ] ], "#siblingTest em *": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "siblingTest", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "em" }, { "type": "descendant" }, { "type": "universal" } ] ], "#siblingTest em ~ em ~ em ~ span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "siblingTest", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "em" }, { "type": "sibling" }, { "type": "tag", "name": "em" }, { "type": "sibling" }, { "type": "tag", "name": "em" }, { "type": "sibling" }, { "type": "tag", "name": "span" } ] ], "#siblingfirst ~ em": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "siblingfirst", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "em" } ] ], "#spaced-tokens p em a": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "spaced-tokens", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" }, { "type": "descendant" }, { "type": "tag", "name": "em" }, { "type": "descendant" }, { "type": "tag", "name": "a" } ] ], "#spanny": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "spanny", "ignoreCase": false } ] ], "#tName1": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "tName1", "ignoreCase": false } ] ], "#tName1 span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "tName1", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "span" } ] ], "#tName1-span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "tName1-span", "ignoreCase": false } ] ], "#tName2": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "tName2", "ignoreCase": false } ] ], "#tName2 span": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "tName2", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "span" } ] ], "#tName2ID": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "tName2ID", "ignoreCase": false } ] ], "#test\\.foo\\[5\\]bar": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "test.foo[5]bar", "ignoreCase": false } ] ], "#tmp_input :button": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "tmp_input", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "button", "data": null } ] ], "#tmp_input :reset": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "tmp_input", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "reset", "data": null } ] ], "#tmp_input :submit": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "tmp_input", "ignoreCase": false }, { "type": "descendant" }, { "type": "pseudo", "name": "submit", "data": null } ] ], "#token-four": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "token-four", "ignoreCase": false } ] ], "#troubleForm": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm", "ignoreCase": false } ] ], "#troubleForm *:checked": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "pseudo", "name": "checked", "data": null } ] ], "#troubleForm *[type=radio]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "attribute", "name": "type", "action": "equals", "value": "radio", "ignoreCase": false } ] ], "#troubleForm *[type]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "attribute", "name": "type", "action": "exists", "value": "", "ignoreCase": false } ] ], "#troubleForm > p > *:disabled": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "p" }, { "type": "child" }, { "type": "universal" }, { "type": "pseudo", "name": "disabled", "data": null } ] ], "#troubleForm [type=radio]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "type", "action": "equals", "value": "radio", "ignoreCase": false } ] ], "#troubleForm [type]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "type", "action": "exists", "value": "", "ignoreCase": false } ] ], "#troubleForm2 input[name=\"brackets[5][]\"]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm2", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "brackets[5][]", "ignoreCase": false } ] ], "#troubleForm2 input[name=\"brackets[5][]\"]:checked": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm2", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "brackets[5][]", "ignoreCase": false }, { "type": "pseudo", "name": "checked", "data": null } ] ], "#troubleForm2 input[name=\"brackets[5][]\"][value=\"2\"]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "troubleForm2", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "brackets[5][]", "ignoreCase": false }, { "type": "attribute", "name": "value", "action": "equals", "value": "2", "ignoreCase": false } ] ], "#types_all": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "types_all", "ignoreCase": false } ] ], "#uncle": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "uncle", "ignoreCase": false } ] ], "#台北Táiběi": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "台北Táiběi", "ignoreCase": false } ] ], "#台北Táiběi, #台北": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "台北Táiběi", "ignoreCase": false } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "台北", "ignoreCase": false } ] ], "*": [ [ { "type": "universal" } ] ], "* :not(*) foo": [ [ { "type": "universal" }, { "type": "descendant" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "universal" } ] ] }, { "type": "descendant" }, { "type": "tag", "name": "foo" } ] ], "* < *": [ [ { "type": "universal" }, { "type": "parent" }, { "type": "universal" } ] ], "*, foo": [ [ { "type": "universal" } ], [ { "type": "tag", "name": "foo" } ] ], "*,:contains(!)": [ [ { "type": "universal" } ], [ { "type": "pseudo", "name": "contains", "data": "!" } ] ], "*:contains(humans)": [ [ { "type": "universal" }, { "type": "pseudo", "name": "contains", "data": "humans" } ] ], "*[id]": [ [ { "type": "universal" }, { "type": "attribute", "name": "id", "action": "exists", "value": "", "ignoreCase": false } ] ], "*[name=iframe]": [ [ { "type": "universal" }, { "type": "attribute", "name": "name", "action": "equals", "value": "iframe", "ignoreCase": false } ] ], "*[type=checkbox]": [ [ { "type": "universal" }, { "type": "attribute", "name": "type", "action": "equals", "value": "checkbox", "ignoreCase": false } ] ], ".GROUPS": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "GROUPS", "ignoreCase": false } ] ], ".a": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false } ] ], ".a #booshTest #spanny": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "booshTest", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "spanny", "ignoreCase": false } ] ], ".a #spanny": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "spanny", "ignoreCase": false } ] ], ".a .d + .sib": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "d", "ignoreCase": false }, { "type": "adjacent" }, { "type": "attribute", "name": "class", "action": "element", "value": "sib", "ignoreCase": false } ] ], ".a .d ~ .sib[test=\"f g\"]": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "d", "ignoreCase": false }, { "type": "sibling" }, { "type": "attribute", "name": "class", "action": "element", "value": "sib", "ignoreCase": false }, { "type": "attribute", "name": "test", "action": "equals", "value": "f g", "ignoreCase": false } ] ], ".a > #booshTest": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "booshTest", "ignoreCase": false } ] ], ".a span": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "span" } ] ], ".a.b #booshTest": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "b", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "booshTest", "ignoreCase": false } ] ], ".a>#booshTest": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "booshTest", "ignoreCase": false } ] ], ".blog": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "blog", "ignoreCase": false } ] ], ".blog.link": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "blog", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "link", "ignoreCase": false } ] ], ".brothers": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false } ] ], ".class-with-dashes": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "class-with-dashes", "ignoreCase": false } ] ], ".component": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "component", "ignoreCase": false } ] ], ".container div:not(.excluded) div": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "container", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "excluded", "ignoreCase": false } ] ] }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], ".d #oooo #emem": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "d", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "oooo", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "emem", "ignoreCase": false } ] ], ".d ~ .sib": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "d", "ignoreCase": false }, { "type": "sibling" }, { "type": "attribute", "name": "class", "action": "element", "value": "sib", "ignoreCase": false } ] ], ".d.i #emem": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "d", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "i", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "emem", "ignoreCase": false } ] ], ".direct-descend > .direct-descend .lvl2": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "direct-descend", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "direct-descend", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "lvl2", "ignoreCase": false } ] ], ".direct-descend > .direct-descend > .direct-descend ~ .lvl2": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "direct-descend", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "direct-descend", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "direct-descend", "ignoreCase": false }, { "type": "sibling" }, { "type": "attribute", "name": "class", "action": "element", "value": "lvl2", "ignoreCase": false } ] ], ".direct-descend > .direct-descend div": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "direct-descend", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "direct-descend", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], ".e": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "e", "ignoreCase": false } ] ], ".e.hasOwnProperty.toString": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "e", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "hasOwnProperty", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "toString", "ignoreCase": false } ] ], ".excluded": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "excluded", "ignoreCase": false } ] ], ".first": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "first", "ignoreCase": false } ] ], ".foo": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "foo", "ignoreCase": false } ] ], ".foo\\:bar": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "foo:bar", "ignoreCase": false } ] ], ".fototab > .thumbnails > a": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "fototab", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "thumbnails", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "a" } ] ], ".internal#link_2": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false }, { "type": "attribute", "name": "id", "action": "equals", "value": "link_2", "ignoreCase": false } ] ], ".link": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "link", "ignoreCase": false } ] ], ".nothiddendiv div:first-child": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "nothiddendiv", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], ".null": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "null", "ignoreCase": false } ] ], ".null div": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "null", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], ".odd:not(div)": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "odd", "ignoreCase": false }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "div" } ] ] } ] ], ".parent .middle + .sibling": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "middle", "ignoreCase": false }, { "type": "adjacent" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling", "ignoreCase": false } ] ], ".parent .middle + h2": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "middle", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "h2" } ] ], ".parent .middle + h3": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "middle", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "h3" } ] ], ".parent .middle + h4": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "middle", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "h4" } ] ], ".parent .middle ~ .sibling": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "middle", "ignoreCase": false }, { "type": "sibling" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling", "ignoreCase": false } ] ], ".parent .middle ~ h2": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "middle", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "h2" } ] ], ".parent .middle ~ h3": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "middle", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "h3" } ] ], ".parent .middle ~ h4": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "middle", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "h4" } ] ], ".parent .middle ~ h4.younger": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "middle", "ignoreCase": false }, { "type": "sibling" }, { "type": "tag", "name": "h4" }, { "type": "attribute", "name": "class", "action": "element", "value": "younger", "ignoreCase": false } ] ], ".parent .oldest + .sibling": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "oldest", "ignoreCase": false }, { "type": "adjacent" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling", "ignoreCase": false } ] ], ".parent .oldest ~ .sibling": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "oldest", "ignoreCase": false }, { "type": "sibling" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling", "ignoreCase": false } ] ], ".parent .youngest + .sibling": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "youngest", "ignoreCase": false }, { "type": "adjacent" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling", "ignoreCase": false } ] ], ".parent .youngest ~ .sibling": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "parent", "ignoreCase": false }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "youngest", "ignoreCase": false }, { "type": "sibling" }, { "type": "attribute", "name": "class", "action": "element", "value": "sibling", "ignoreCase": false } ] ], ".second": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "second", "ignoreCase": false } ] ], ".select1": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "select1", "ignoreCase": false } ] ], ".test\\.foo\\[5\\]bar": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "test.foo[5]bar", "ignoreCase": false } ] ], ".台北": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "台北", "ignoreCase": false } ] ], ".台北Táiběi": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "台北Táiběi", "ignoreCase": false } ] ], ".台北Táiběi, .台北": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "台北Táiběi", "ignoreCase": false } ], [ { "type": "attribute", "name": "class", "action": "element", "value": "台北", "ignoreCase": false } ] ], ".台北Táiběi.台北": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "台北Táiběi", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "台北", "ignoreCase": false } ] ], ":Header": [ [ { "type": "pseudo", "name": "header", "data": null } ] ], ":button": [ [ { "type": "pseudo", "name": "button", "data": null } ] ], ":contains(Nothing),#option1b,:selected": [ [ { "type": "pseudo", "name": "contains", "data": "Nothing" } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "option1b", "ignoreCase": false } ], [ { "type": "pseudo", "name": "selected", "data": null } ] ], ":contains(foo)": [ [ { "type": "pseudo", "name": "contains", "data": "foo" } ] ], ":contains(humans)": [ [ { "type": "pseudo", "name": "contains", "data": "humans" } ] ], ":contains(mark)": [ [ { "type": "pseudo", "name": "contains", "data": "mark" } ] ], ":empty": [ [ { "type": "pseudo", "name": "empty", "data": null } ] ], ":first-child": [ [ { "type": "pseudo", "name": "first-child", "data": null } ] ], ":first-child(n)": [ [ { "type": "pseudo", "name": "first-child", "data": "n" } ] ], ":first-last-child": [ [ { "type": "pseudo", "name": "first-last-child", "data": null } ] ], ":first-of-type": [ [ { "type": "pseudo", "name": "first-of-type", "data": null } ] ], ":has(*)": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ] ] } ] ], ":has(*,:contains(!)),:contains(!)": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ], [ { "type": "pseudo", "name": "contains", "data": "!" } ] ] } ], [ { "type": "pseudo", "name": "contains", "data": "!" } ] ], ":has(:has(*))": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ] ] } ] ] } ] ], ":has(:nth-child(-1n-1))": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "pseudo", "name": "nth-child", "data": "-1n-1" } ] ] } ] ], ":has(a),:nth-child(1)": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "a" } ] ] } ], [ { "type": "pseudo", "name": "nth-child", "data": "1" } ] ], ":has(div,span)": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "div" } ], [ { "type": "tag", "name": "span" } ] ] } ] ], ":has(option)": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "option" } ] ] } ] ], ":header": [ [ { "type": "pseudo", "name": "header", "data": null } ] ], ":humanoid": [ [ { "type": "pseudo", "name": "humanoid", "data": null } ] ], ":image,:input,:submit": [ [ { "type": "pseudo", "name": "image", "data": null } ], [ { "type": "pseudo", "name": "input", "data": null } ], [ { "type": "pseudo", "name": "submit", "data": null } ] ], ":input": [ [ { "type": "pseudo", "name": "input", "data": null } ] ], ":input:not(:image,:input,:submit)": [ [ { "type": "pseudo", "name": "input", "data": null }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "image", "data": null } ], [ { "type": "pseudo", "name": "input", "data": null } ], [ { "type": "pseudo", "name": "submit", "data": null } ] ] } ] ], ":input[data-pos=':first']": [ [ { "type": "pseudo", "name": "input", "data": null }, { "type": "attribute", "name": "data-pos", "action": "equals", "value": ":first", "ignoreCase": false } ] ], ":last-child": [ [ { "type": "pseudo", "name": "last-child", "data": null } ] ], ":last-child(n)": [ [ { "type": "pseudo", "name": "last-child", "data": "n" } ] ], ":last-last-child": [ [ { "type": "pseudo", "name": "last-last-child", "data": null } ] ], ":last-of-type": [ [ { "type": "pseudo", "name": "last-of-type", "data": null } ] ], ":not(*)": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "universal" } ] ] } ] ], ":not(:not(*))": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "universal" } ] ] } ] ] } ] ], ":not(:not(:not(*)))": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "universal" } ] ] } ] ] } ] ] } ] ], ":not(:nth-child(-1n-1))": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "nth-child", "data": "-1n-1" } ] ] } ] ], ":not(:selected)": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "selected", "data": null } ] ] } ] ], ":not(code)": [ [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "code" } ] ] } ] ], ":nth-child": [ [ { "type": "pseudo", "name": "nth-child", "data": null } ] ], ":nth-child(- 1n)": [ [ { "type": "pseudo", "name": "nth-child", "data": "- 1n" } ] ], ":nth-child(-)": [ [ { "type": "pseudo", "name": "nth-child", "data": "-" } ] ], ":nth-child(-1 n)": [ [ { "type": "pseudo", "name": "nth-child", "data": "-1 n" } ] ], ":nth-child(-1n-1)": [ [ { "type": "pseudo", "name": "nth-child", "data": "-1n-1" } ] ], ":nth-child(1)": [ [ { "type": "pseudo", "name": "nth-child", "data": "1" } ] ], ":nth-child(2+0)": [ [ { "type": "pseudo", "name": "nth-child", "data": "2+0" } ] ], ":nth-child(2n+-0)": [ [ { "type": "pseudo", "name": "nth-child", "data": "2n+-0" } ] ], ":nth-child(asdf)": [ [ { "type": "pseudo", "name": "nth-child", "data": "asdf" } ] ], ":nth-last-child(1)": [ [ { "type": "pseudo", "name": "nth-last-child", "data": "1" } ] ], ":nth-last-last-child(1)": [ [ { "type": "pseudo", "name": "nth-last-last-child", "data": "1" } ] ], ":nth-last-of-type(-1)": [ [ { "type": "pseudo", "name": "nth-last-of-type", "data": "-1" } ] ], ":nth-last-of-type(1)": [ [ { "type": "pseudo", "name": "nth-last-of-type", "data": "1" } ] ], ":nth-of-type(-1)": [ [ { "type": "pseudo", "name": "nth-of-type", "data": "-1" } ] ], ":nth-of-type(1)": [ [ { "type": "pseudo", "name": "nth-of-type", "data": "1" } ] ], ":only-child(n)": [ [ { "type": "pseudo", "name": "only-child", "data": "n" } ] ], ":only-last-child": [ [ { "type": "pseudo", "name": "only-last-child", "data": null } ] ], ":parent": [ [ { "type": "pseudo", "name": "parent", "data": null } ] ], ":reset": [ [ { "type": "pseudo", "name": "reset", "data": null } ] ], ":root": [ [ { "type": "pseudo", "name": "root", "data": null } ] ], ":selected": [ [ { "type": "pseudo", "name": "selected", "data": null } ] ], ":submit": [ [ { "type": "pseudo", "name": "submit", "data": null } ] ], ":visble": [ [ { "type": "pseudo", "name": "visble", "data": null } ] ], ">.a>#booshTest": [ [ { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "a", "ignoreCase": false }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "booshTest", "ignoreCase": false } ] ], "[action$='formaction']": [ [ { "type": "attribute", "name": "action", "action": "end", "value": "formaction", "ignoreCase": false } ] ], "[action='form:action']": [ [ { "type": "attribute", "name": "action", "action": "equals", "value": "form:action", "ignoreCase": false } ] ], "[action='form:action']:button": [ [ { "type": "attribute", "name": "action", "action": "equals", "value": "form:action", "ignoreCase": false }, { "type": "pseudo", "name": "button", "data": null } ] ], "[attr=boosh]": [ [ { "type": "attribute", "name": "attr", "action": "equals", "value": "boosh", "ignoreCase": false } ] ], "[attr=foo]": [ [ { "type": "attribute", "name": "attr", "action": "equals", "value": "foo", "ignoreCase": false } ] ], "[attr]": [ [ { "type": "attribute", "name": "attr", "action": "exists", "value": "", "ignoreCase": false } ] ], "[class*=component]": [ [ { "type": "attribute", "name": "class", "action": "any", "value": "component", "ignoreCase": false } ] ], "[class~=brothers]": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false } ] ], "[class~=internal]": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false } ] ], "[constructor='foo']": [ [ { "type": "attribute", "name": "constructor", "action": "equals", "value": "foo", "ignoreCase": false } ] ], "[constructor]": [ [ { "type": "attribute", "name": "constructor", "action": "exists", "value": "", "ignoreCase": false } ] ], "[foo]": [ [ { "type": "attribute", "name": "foo", "action": "exists", "value": "", "ignoreCase": false } ] ], "[foo^=\"bar\"]": [ [ { "type": "attribute", "name": "foo", "action": "start", "value": "bar", "ignoreCase": false } ] ], "[href=\"#\"]": [ [ { "type": "attribute", "name": "href", "action": "equals", "value": "#", "ignoreCase": false } ] ], "[href]": [ [ { "type": "attribute", "name": "href", "action": "exists", "value": "", "ignoreCase": false } ] ], "[id*=option1]": [ [ { "type": "attribute", "name": "id", "action": "any", "value": "option1", "ignoreCase": false } ] ], "[id*=option1][type!=checkbox]": [ [ { "type": "attribute", "name": "id", "action": "any", "value": "option1", "ignoreCase": false }, { "type": "attribute", "name": "type", "action": "not", "value": "checkbox", "ignoreCase": false } ] ], "[id='select1'] *:not(:last-child), [id='select2'] *:not(:last-child)": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "select1", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "last-child", "data": null } ] ] } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "select2", "ignoreCase": false }, { "type": "descendant" }, { "type": "universal" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "last-child", "data": null } ] ] } ] ], "[id=option1a]": [ [ { "type": "attribute", "name": "id", "action": "equals", "value": "option1a", "ignoreCase": false } ] ], "[id]": [ [ { "type": "attribute", "name": "id", "action": "exists", "value": "", "ignoreCase": false } ] ], "[multiple]": [ [ { "type": "attribute", "name": "multiple", "action": "exists", "value": "", "ignoreCase": false } ] ], "[name='id']": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "id", "ignoreCase": false } ] ], "[name='select1']": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "select1", "ignoreCase": false } ] ], "[name=div]": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "div", "ignoreCase": false } ] ], "[name=example]": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "example", "ignoreCase": false } ] ], "[name=prop2]": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "prop2", "ignoreCase": false } ] ], "[name=select1]": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "select1", "ignoreCase": false } ] ], "[name=tName1]": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "tName1", "ignoreCase": false } ] ], "[name=tName2]": [ [ { "type": "attribute", "name": "name", "action": "equals", "value": "tName2", "ignoreCase": false } ] ], "[rel$=\"nofollow\"]": [ [ { "type": "attribute", "name": "rel", "action": "end", "value": "nofollow", "ignoreCase": false } ] ], "[rel$=nofollow]": [ [ { "type": "attribute", "name": "rel", "action": "end", "value": "nofollow", "ignoreCase": false } ] ], "[rel^=external]": [ [ { "type": "attribute", "name": "rel", "action": "start", "value": "external", "ignoreCase": false } ] ], "[rel~=nofollow]": [ [ { "type": "attribute", "name": "rel", "action": "element", "value": "nofollow", "ignoreCase": false } ] ], "[test=]": [ [ { "type": "attribute", "name": "test", "action": "equals", "value": "", "ignoreCase": false } ] ], "[test^='']": [ [ { "type": "attribute", "name": "test", "action": "start", "value": "", "ignoreCase": false } ] ], "[title]": [ [ { "type": "attribute", "name": "title", "action": "exists", "value": "", "ignoreCase": false } ] ], "[type=checkbox]": [ [ { "type": "attribute", "name": "type", "action": "equals", "value": "checkbox", "ignoreCase": false } ] ], "[type=radio]": [ [ { "type": "attribute", "name": "type", "action": "equals", "value": "radio", "ignoreCase": false } ] ], "[watch='bar']": [ [ { "type": "attribute", "name": "watch", "action": "equals", "value": "bar", "ignoreCase": false } ] ], "[watch]": [ [ { "type": "attribute", "name": "watch", "action": "exists", "value": "", "ignoreCase": false } ] ], "[xml\\:test]": [ [ { "type": "attribute", "name": "xml:test", "action": "exists", "value": "", "ignoreCase": false } ] ], "a": [ [ { "type": "tag", "name": "a" } ] ], "a#link_2.internal": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "id", "action": "equals", "value": "link_2", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false } ] ], "a,b": [ [ { "type": "tag", "name": "a" } ], [ { "type": "tag", "name": "b" } ] ], "a,b,div": [ [ { "type": "tag", "name": "a" } ], [ { "type": "tag", "name": "b" } ], [ { "type": "tag", "name": "div" } ] ], "a,p": [ [ { "type": "tag", "name": "a" } ], [ { "type": "tag", "name": "p" } ] ], "a,p,b": [ [ { "type": "tag", "name": "a" } ], [ { "type": "tag", "name": "p" } ], [ { "type": "tag", "name": "b" } ] ], "a.GROUPS + code + a": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "GROUPS", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "code" }, { "type": "adjacent" }, { "type": "tag", "name": "a" } ] ], "a.blog": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "blog", "ignoreCase": false } ] ], "a.blog:not(.link)": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "blog", "ignoreCase": false }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "link", "ignoreCase": false } ] ] } ] ], "a.highlight.internal": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "highlight", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false } ] ], "a.highlight.internal.nonexistent": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "highlight", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "nonexistent", "ignoreCase": false } ] ], "a.internal": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false } ] ], "a.internal#link_2": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false }, { "type": "attribute", "name": "id", "action": "equals", "value": "link_2", "ignoreCase": false } ] ], "a.internal.highlight": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "highlight", "ignoreCase": false } ] ], "a.odd": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "odd", "ignoreCase": false } ] ], "a:contains(\"(Link)\")": [ [ { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "contains", "data": "(Link)" } ] ], "a:contains('')": [ [ { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "contains", "data": "" } ] ], "a:contains('Google Groups (Link)')": [ [ { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "contains", "data": "Google Groups (Link)" } ] ], "a:contains((Link))": [ [ { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "contains", "data": "(Link)" } ] ], "a:contains(Google Groups (Link))": [ [ { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "contains", "data": "Google Groups (Link)" } ] ], "a:contains(Google Groups)": [ [ { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "contains", "data": "Google Groups" } ] ], "a:contains(Google)": [ [ { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "contains", "data": "Google" } ] ], "a:not([href=\"#\"])": [ [ { "type": "tag", "name": "a" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "href", "action": "equals", "value": "#", "ignoreCase": false } ] ] } ] ], "a[class*=blog]:not(:has(*, :contains(!)), :contains(!)), br:contains(]), p:contains(]), :not(:empty):not(:parent)": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "any", "value": "blog", "ignoreCase": false }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ], [ { "type": "pseudo", "name": "contains", "data": "!" } ] ] } ], [ { "type": "pseudo", "name": "contains", "data": "!" } ] ] } ], [ { "type": "tag", "name": "br" }, { "type": "pseudo", "name": "contains", "data": "]" } ], [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "contains", "data": "]" } ], [ { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "empty", "data": null } ] ] }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "parent", "data": null } ] ] } ] ], "a[class~=\"internal\"]": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false } ] ], "a[class~=external]:not([href=\"#\"])": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "external", "ignoreCase": false }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "href", "action": "equals", "value": "#", "ignoreCase": false } ] ] } ] ], "a[class~=external][href=\"#\"]": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "external", "ignoreCase": false }, { "type": "attribute", "name": "href", "action": "equals", "value": "#", "ignoreCase": false } ] ], "a[class~=internal]": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "internal", "ignoreCase": false } ] ], "a[href $= 'org/']": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "end", "value": "org/", "ignoreCase": false } ] ], "a[href *= 'google']": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "any", "value": "google", "ignoreCase": false } ] ], "a[href ^= 'http://www']": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "start", "value": "http://www", "ignoreCase": false } ] ], "a[href*=#]": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "any", "value": "#", "ignoreCase": false } ] ], "a[href=\"#\"]": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "equals", "value": "#", "ignoreCase": false } ] ], "a[href]": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "exists", "value": "", "ignoreCase": false } ] ], "a[rel^=\"external\"]": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "rel", "action": "start", "value": "external", "ignoreCase": false } ] ], "a[rel^='external']": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "rel", "action": "start", "value": "external", "ignoreCase": false } ] ], "a[rel^=external]": [ [ { "type": "tag", "name": "a" }, { "type": "attribute", "name": "rel", "action": "start", "value": "external", "ignoreCase": false } ] ], "body": [ [ { "type": "tag", "name": "body" } ] ], "body div div div": [ [ { "type": "tag", "name": "body" }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], "body#body": [ [ { "type": "tag", "name": "body" }, { "type": "attribute", "name": "id", "action": "equals", "value": "body", "ignoreCase": false } ] ], "body>div div div": [ [ { "type": "tag", "name": "body" }, { "type": "child" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], "cite[title=\"hello world!\"]": [ [ { "type": "tag", "name": "cite" }, { "type": "attribute", "name": "title", "action": "equals", "value": "hello world!", "ignoreCase": false } ] ], "code": [ [ { "type": "tag", "name": "code" } ] ], "code > *": [ [ { "type": "tag", "name": "code" }, { "type": "child" }, { "type": "universal" } ] ], "component": [ [ { "type": "tag", "name": "component" } ] ], "component#seite1": [ [ { "type": "tag", "name": "component" }, { "type": "attribute", "name": "id", "action": "equals", "value": "seite1", "ignoreCase": false } ] ], "div": [ [ { "type": "tag", "name": "div" } ] ], "div #foo\\:bar": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "foo:bar", "ignoreCase": false } ] ], "div #test\\.foo\\[5\\]bar": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "test.foo[5]bar", "ignoreCase": false } ] ], "div #台北": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "台北", "ignoreCase": false } ] ], "div .foo\\:bar": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "foo:bar", "ignoreCase": false } ] ], "div .test\\.foo\\[5\\]bar": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "test.foo[5]bar", "ignoreCase": false } ] ], "div .tokens[title=\"one two three #%\"]": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "tokens", "ignoreCase": false }, { "type": "attribute", "name": "title", "action": "equals", "value": "one two three #%", "ignoreCase": false } ] ], "div .tokens[title=\"one two three #%\"] a[href$=foo] div": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "tokens", "ignoreCase": false }, { "type": "attribute", "name": "title", "action": "equals", "value": "one two three #%", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "end", "value": "foo", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], "div .tokens[title=\"one two\"]": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "tokens", "ignoreCase": false }, { "type": "attribute", "name": "title", "action": "equals", "value": "one two", "ignoreCase": false } ] ], "div .tokens[title=\"one\"]": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "tokens", "ignoreCase": false }, { "type": "attribute", "name": "title", "action": "equals", "value": "one", "ignoreCase": false } ] ], "div .tokens[title='one two three #%'] a": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "tokens", "ignoreCase": false }, { "type": "attribute", "name": "title", "action": "equals", "value": "one two three #%", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "a" } ] ], "div .台北Táiběi": [ [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "台北Táiběi", "ignoreCase": false } ] ], "div > #nonexistent": [ [ { "type": "tag", "name": "div" }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "nonexistent", "ignoreCase": false } ] ], "div > div #tName1": [ [ { "type": "tag", "name": "div" }, { "type": "child" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "attribute", "name": "id", "action": "equals", "value": "tName1", "ignoreCase": false } ] ], "div > span": [ [ { "type": "tag", "name": "div" }, { "type": "child" }, { "type": "tag", "name": "span" } ] ], "div ~ #level2_3": [ [ { "type": "tag", "name": "div" }, { "type": "sibling" }, { "type": "attribute", "name": "id", "action": "equals", "value": "level2_3", "ignoreCase": false } ] ], "div ~ #level3_2": [ [ { "type": "tag", "name": "div" }, { "type": "sibling" }, { "type": "attribute", "name": "id", "action": "equals", "value": "level3_2", "ignoreCase": false } ] ], "div#attr-child-boosh[attr=boosh]": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "attr-child-boosh", "ignoreCase": false }, { "type": "attribute", "name": "attr", "action": "equals", "value": "boosh", "ignoreCase": false } ] ], "div#attr-test3.found.you[title=\"whatup duders\"]": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "attr-test3", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "found", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "you", "ignoreCase": false }, { "type": "attribute", "name": "title", "action": "equals", "value": "whatup duders", "ignoreCase": false } ] ], "div#blargh": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "blargh", "ignoreCase": false } ] ], "div#fixtures > div a": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "fixtures", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "a" } ] ], "div#fixtures div ~ a div": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "fixtures", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "div" }, { "type": "sibling" }, { "type": "tag", "name": "a" }, { "type": "descendant" }, { "type": "tag", "name": "div" } ] ], "div#fixtures p": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "fixtures", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "div#fixtures>div a": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "fixtures", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "a" } ] ], "div#form": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "form", "ignoreCase": false } ] ], "div#grandfather > div": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "id", "action": "equals", "value": "grandfather", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "div" } ] ], "div,span": [ [ { "type": "tag", "name": "div" } ], [ { "type": "tag", "name": "span" } ] ], "div.blah > p > a": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "blah", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "p" }, { "type": "child" }, { "type": "tag", "name": "a" } ] ], "div.brothers": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false } ] ], "div.brothers + div": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "div" } ] ], "div.brothers + div.brothers": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false } ] ], "div.brothers:not(.brothers)": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false } ] ] } ] ], "div.foo": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "foo", "ignoreCase": false } ] ], "div.foo > span > a": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "foo", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "span" }, { "type": "child" }, { "type": "tag", "name": "a" } ] ], "div:has(div:not([id]))": [ [ { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "id", "action": "exists", "value": "", "ignoreCase": false } ] ] } ] ] } ] ], "div:not(.brothers)": [ [ { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false } ] ] } ] ], "div:not([class~=brothers])": [ [ { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false } ] ] } ] ], "div:not([id])": [ [ { "type": "tag", "name": "div" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "attribute", "name": "id", "action": "exists", "value": "", "ignoreCase": false } ] ] } ] ], "div[class$=men]": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "end", "value": "men", "ignoreCase": false } ] ], "div[class*=\"ers m\"]": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "any", "value": "ers m", "ignoreCase": false } ] ], "div[class^=bro]": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "start", "value": "bro", "ignoreCase": false } ] ], "div[class~=brothers]": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false } ] ], "div[class~=brothers].brothers": [ [ { "type": "tag", "name": "div" }, { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "brothers", "ignoreCase": false } ] ], "dl\tol": [ [ { "type": "tag", "name": "dl" }, { "type": "descendant" }, { "type": "tag", "name": "ol" } ] ], "dl ol": [ [ { "type": "tag", "name": "dl" }, { "type": "descendant" }, { "type": "tag", "name": "ol" } ] ], "elem:not(:has(*))": [ [ { "type": "tag", "name": "elem" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "has", "data": [ [ { "type": "universal" } ] ] } ] ] } ] ], "em[nopass~=\"copyright\"]": [ [ { "type": "tag", "name": "em" }, { "type": "attribute", "name": "nopass", "action": "element", "value": "copyright", "ignoreCase": false } ] ], "em[rel~=\"copyright\"]": [ [ { "type": "tag", "name": "em" }, { "type": "attribute", "name": "rel", "action": "element", "value": "copyright", "ignoreCase": false } ] ], "foo_bar": [ [ { "type": "tag", "name": "foo_bar" } ] ], "form": [ [ { "type": "tag", "name": "form" } ] ], "form > #foo\\:bar": [ [ { "type": "tag", "name": "form" }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "foo:bar", "ignoreCase": false } ] ], "form > #test\\.foo\\[5\\]bar": [ [ { "type": "tag", "name": "form" }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "test.foo[5]bar", "ignoreCase": false } ] ], "form > #台北": [ [ { "type": "tag", "name": "form" }, { "type": "child" }, { "type": "attribute", "name": "id", "action": "equals", "value": "台北", "ignoreCase": false } ] ], "form > .foo\\:bar": [ [ { "type": "tag", "name": "form" }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "foo:bar", "ignoreCase": false } ] ], "form > .test\\.foo\\[5\\]bar": [ [ { "type": "tag", "name": "form" }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "test.foo[5]bar", "ignoreCase": false } ] ], "form > .台北Táiběi": [ [ { "type": "tag", "name": "form" }, { "type": "child" }, { "type": "attribute", "name": "class", "action": "element", "value": "台北Táiběi", "ignoreCase": false } ] ], "form label[for]": [ [ { "type": "tag", "name": "form" }, { "type": "descendant" }, { "type": "tag", "name": "label" }, { "type": "attribute", "name": "for", "action": "exists", "value": "", "ignoreCase": false } ] ], "form:nth-last-child( 5 )": [ [ { "type": "tag", "name": "form" }, { "type": "pseudo", "name": "nth-last-child", "data": " 5 " } ] ], "form:nth-last-child(5)": [ [ { "type": "tag", "name": "form" }, { "type": "pseudo", "name": "nth-last-child", "data": "5" } ] ], "form[title*=\"commas,\"], input[value=\"#commaOne,#commaTwo\"]": [ [ { "type": "tag", "name": "form" }, { "type": "attribute", "name": "title", "action": "any", "value": "commas,", "ignoreCase": false } ], [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "value", "action": "equals", "value": "#commaOne,#commaTwo", "ignoreCase": false } ] ], "h1": [ [ { "type": "tag", "name": "h1" } ] ], "h1 ~ ul": [ [ { "type": "tag", "name": "h1" }, { "type": "sibling" }, { "type": "tag", "name": "ul" } ] ], "h1[CLASS]": [ [ { "type": "tag", "name": "h1" }, { "type": "attribute", "name": "class", "action": "exists", "value": "", "ignoreCase": false } ] ], "h1[class]": [ [ { "type": "tag", "name": "h1" }, { "type": "attribute", "name": "class", "action": "exists", "value": "", "ignoreCase": false } ] ], "h2\t,\r#qunit-fixture p\n": [ [ { "type": "tag", "name": "h2" } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "h2 , #qunit-fixture p": [ [ { "type": "tag", "name": "h2" } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "h2, #qunit-fixture p": [ [ { "type": "tag", "name": "h2" } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "h2, h1": [ [ { "type": "tag", "name": "h2" } ], [ { "type": "tag", "name": "h1" } ] ], "h2,#qunit-fixture p": [ [ { "type": "tag", "name": "h2" } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "h2,#qunit-fixture p ": [ [ { "type": "tag", "name": "h2" } ], [ { "type": "attribute", "name": "id", "action": "equals", "value": "qunit-fixture", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "html": [ [ { "type": "tag", "name": "html" } ] ], "input": [ [ { "type": "tag", "name": "input" } ] ], "input[data-attr='\\01D306A']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "data-attr", "action": "equals", "value": "𝌆A", "ignoreCase": false } ] ], "input[data-comma=\"0,1\"]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "data-comma", "action": "equals", "value": "0,1", "ignoreCase": false } ] ], "input[data-comma='0,1']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "data-comma", "action": "equals", "value": "0,1", "ignoreCase": false } ] ], "input[data-pos=':first']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "data-pos", "action": "equals", "value": ":first", "ignoreCase": false } ] ], "input[data-pos=\\:first]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "data-pos", "action": "equals", "value": ":first", "ignoreCase": false } ] ], "input[id='idTest']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "id", "action": "equals", "value": "idTest", "ignoreCase": false } ] ], "input[id=types_all]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "id", "action": "equals", "value": "types_all", "ignoreCase": false } ] ], "input[name$='[bar]']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "end", "value": "[bar]", "ignoreCase": false } ] ], "input[name$='bar]']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "end", "value": "bar]", "ignoreCase": false } ] ], "input[name$='foo[bar]']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "end", "value": "foo[bar]", "ignoreCase": false } ] ], "input[name*='[bar]']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "any", "value": "[bar]", "ignoreCase": false } ] ], "input[name*='foo[bar]']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "any", "value": "foo[bar]", "ignoreCase": false } ] ], "input[name=\"action\"]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "action", "ignoreCase": false } ] ], "input[name='action']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "action", "ignoreCase": false } ] ], "input[name='foo[bar]']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "foo[bar]", "ignoreCase": false } ] ], "input[name='types[]']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "types[]", "ignoreCase": false } ] ], "input[name=action]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "action", "ignoreCase": false } ] ], "input[name=foo\\ bar]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "foo bar", "ignoreCase": false } ] ], "input[name=foo\\.baz]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "foo.baz", "ignoreCase": false } ] ], "input[name=foo\\[baz\\]]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "equals", "value": "foo[baz]", "ignoreCase": false } ] ], "input[name^='foo[']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "start", "value": "foo[", "ignoreCase": false } ] ], "input[name^='foo[bar]']": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "name", "action": "start", "value": "foo[bar]", "ignoreCase": false } ] ], "input[title=\"Don't click me\"]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "title", "action": "equals", "value": "Don't click me", "ignoreCase": false } ] ], "input[value=Test]": [ [ { "type": "tag", "name": "input" }, { "type": "attribute", "name": "value", "action": "equals", "value": "Test", "ignoreCase": false } ] ], "li": [ [ { "type": "tag", "name": "li" } ] ], "li ~ li": [ [ { "type": "tag", "name": "li" }, { "type": "sibling" }, { "type": "tag", "name": "li" } ] ], "li#attr-child-boosh[attr=boosh]": [ [ { "type": "tag", "name": "li" }, { "type": "attribute", "name": "id", "action": "equals", "value": "attr-child-boosh", "ignoreCase": false }, { "type": "attribute", "name": "attr", "action": "equals", "value": "boosh", "ignoreCase": false } ] ], "li#item_1.first": [ [ { "type": "tag", "name": "li" }, { "type": "attribute", "name": "id", "action": "equals", "value": "item_1", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "first", "ignoreCase": false } ] ], "li#item_1.first.nonexistent": [ [ { "type": "tag", "name": "li" }, { "type": "attribute", "name": "id", "action": "equals", "value": "item_1", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "first", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "nonexistent", "ignoreCase": false } ] ], "li#item_1.nonexistent": [ [ { "type": "tag", "name": "li" }, { "type": "attribute", "name": "id", "action": "equals", "value": "item_1", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "element", "value": "nonexistent", "ignoreCase": false } ] ], "li#item_3[class]": [ [ { "type": "tag", "name": "li" }, { "type": "attribute", "name": "id", "action": "equals", "value": "item_3", "ignoreCase": false }, { "type": "attribute", "name": "class", "action": "exists", "value": "", "ignoreCase": false } ] ], "li:contains(hello)": [ [ { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "contains", "data": "hello" } ] ], "li:contains(human)": [ [ { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "contains", "data": "human" } ] ], "li:contains(humans)": [ [ { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "contains", "data": "humans" } ] ], "li:not(:first-child)": [ [ { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "pseudo", "name": "first-child", "data": null } ] ] } ] ], "meta property thing": [ [ { "type": "tag", "name": "meta" }, { "type": "descendant" }, { "type": "tag", "name": "property" }, { "type": "descendant" }, { "type": "tag", "name": "thing" } ] ], "nonexistent": [ [ { "type": "tag", "name": "nonexistent" } ] ], "ol > li[attr=\"boosh\"]:last-child": [ [ { "type": "tag", "name": "ol" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "attribute", "name": "attr", "action": "equals", "value": "boosh", "ignoreCase": false }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "ol li": [ [ { "type": "tag", "name": "ol" }, { "type": "descendant" }, { "type": "tag", "name": "li" } ] ], "ol ol li#attr-child-boosh[attr=boosh]": [ [ { "type": "tag", "name": "ol" }, { "type": "descendant" }, { "type": "tag", "name": "ol" }, { "type": "descendant" }, { "type": "tag", "name": "li" }, { "type": "attribute", "name": "id", "action": "equals", "value": "attr-child-boosh", "ignoreCase": false }, { "type": "attribute", "name": "attr", "action": "equals", "value": "boosh", "ignoreCase": false } ] ], "ol#list li#attr-child-boosh[attr=boosh]": [ [ { "type": "tag", "name": "ol" }, { "type": "attribute", "name": "id", "action": "equals", "value": "list", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "li" }, { "type": "attribute", "name": "id", "action": "equals", "value": "attr-child-boosh", "ignoreCase": false }, { "type": "attribute", "name": "attr", "action": "equals", "value": "boosh", "ignoreCase": false } ] ], "ol#list>li#attr-child-boosh[attr=boosh]": [ [ { "type": "tag", "name": "ol" }, { "type": "attribute", "name": "id", "action": "equals", "value": "list", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "attribute", "name": "id", "action": "equals", "value": "attr-child-boosh", "ignoreCase": false }, { "type": "attribute", "name": "attr", "action": "equals", "value": "boosh", "ignoreCase": false } ] ], "ol:contains(human)": [ [ { "type": "tag", "name": "ol" }, { "type": "pseudo", "name": "contains", "data": "human" } ] ], "ol:contains(humans)": [ [ { "type": "tag", "name": "ol" }, { "type": "pseudo", "name": "contains", "data": "humans" } ] ], "ol:empty": [ [ { "type": "tag", "name": "ol" }, { "type": "pseudo", "name": "empty", "data": null } ] ], "ol>li": [ [ { "type": "tag", "name": "ol" }, { "type": "child" }, { "type": "tag", "name": "li" } ] ], "ol>li+li": [ [ { "type": "tag", "name": "ol" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "adjacent" }, { "type": "tag", "name": "li" } ] ], "option": [ [ { "type": "tag", "name": "option" } ] ], "option:first-child:contains('o')": [ [ { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "first-child", "data": null }, { "type": "pseudo", "name": "contains", "data": "o" } ] ], "p": [ [ { "type": "tag", "name": "p" } ] ], "p + p": [ [ { "type": "tag", "name": "p" }, { "type": "adjacent" }, { "type": "tag", "name": "p" } ] ], "p .blog": [ [ { "type": "tag", "name": "p" }, { "type": "descendant" }, { "type": "attribute", "name": "class", "action": "element", "value": "blog", "ignoreCase": false } ] ], "p < div": [ [ { "type": "tag", "name": "p" }, { "type": "parent" }, { "type": "tag", "name": "div" } ] ], "p > * > *": [ [ { "type": "tag", "name": "p" }, { "type": "child" }, { "type": "universal" }, { "type": "child" }, { "type": "universal" } ] ], "p > a": [ [ { "type": "tag", "name": "p" }, { "type": "child" }, { "type": "tag", "name": "a" } ] ], "p > a.blog": [ [ { "type": "tag", "name": "p" }, { "type": "child" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "class", "action": "element", "value": "blog", "ignoreCase": false } ] ], "p >a": [ [ { "type": "tag", "name": "p" }, { "type": "child" }, { "type": "tag", "name": "a" } ] ], "p a[href*=#]": [ [ { "type": "tag", "name": "p" }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "any", "value": "#", "ignoreCase": false } ] ], "p a[href^=#]": [ [ { "type": "tag", "name": "p" }, { "type": "descendant" }, { "type": "tag", "name": "a" }, { "type": "attribute", "name": "href", "action": "start", "value": "#", "ignoreCase": false } ] ], "p#blargh": [ [ { "type": "tag", "name": "p" }, { "type": "attribute", "name": "id", "action": "equals", "value": "blargh", "ignoreCase": false } ] ], "p#firstp + p": [ [ { "type": "tag", "name": "p" }, { "type": "attribute", "name": "id", "action": "equals", "value": "firstp", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "p" } ] ], "p#strong": [ [ { "type": "tag", "name": "p" }, { "type": "attribute", "name": "id", "action": "equals", "value": "strong", "ignoreCase": false } ] ], "p, div p": [ [ { "type": "tag", "name": "p" } ], [ { "type": "tag", "name": "div" }, { "type": "descendant" }, { "type": "tag", "name": "p" } ] ], "p,a": [ [ { "type": "tag", "name": "p" } ], [ { "type": "tag", "name": "a" } ] ], "p.first > a": [ [ { "type": "tag", "name": "p" }, { "type": "attribute", "name": "class", "action": "element", "value": "first", "ignoreCase": false }, { "type": "child" }, { "type": "tag", "name": "a" } ] ], "p.foo": [ [ { "type": "tag", "name": "p" }, { "type": "attribute", "name": "class", "action": "element", "value": "foo", "ignoreCase": false } ] ], "p.odd": [ [ { "type": "tag", "name": "p" }, { "type": "attribute", "name": "class", "action": "element", "value": "odd", "ignoreCase": false } ] ], "p:contains(bar)": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "contains", "data": "bar" } ] ], "p:contains(id=\"foo\")[id!=')']": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "contains", "data": "id=\"foo\"" }, { "type": "attribute", "name": "id", "action": "not", "value": ")", "ignoreCase": false } ] ], "p:contains(id=\"foo\")[id!=\\)]": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "contains", "data": "id=\"foo\"" }, { "type": "attribute", "name": "id", "action": "not", "value": ")", "ignoreCase": false } ] ], "p:first-child": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "p:has( a )": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "a" } ] ] } ] ], "p:has(a)": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "has", "data": [ [ { "type": "tag", "name": "a" } ] ] } ] ], "p:last-child": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "p:not(a,p)": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "a" } ], [ { "type": "tag", "name": "p" } ] ] } ] ], "p:not(a,p,b)": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "a" } ], [ { "type": "tag", "name": "p" } ], [ { "type": "tag", "name": "b" } ] ] } ] ], "p:not(p)": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "p" } ] ] } ] ], "p:not(p,a)": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "not", "data": [ [ { "type": "tag", "name": "p" } ], [ { "type": "tag", "name": "a" } ] ] } ] ], "p:nth-child( 1 )": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "nth-child", "data": " 1 " } ] ], "p:nth-child(1)": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "nth-child", "data": "1" } ] ], "p:nth-child(2)": [ [ { "type": "tag", "name": "p" }, { "type": "pseudo", "name": "nth-child", "data": "2" } ] ], "p> a": [ [ { "type": "tag", "name": "p" }, { "type": "child" }, { "type": "tag", "name": "a" } ] ], "p>a": [ [ { "type": "tag", "name": "p" }, { "type": "child" }, { "type": "tag", "name": "a" } ] ], "p[lang=en] + p": [ [ { "type": "tag", "name": "p" }, { "type": "attribute", "name": "lang", "action": "equals", "value": "en", "ignoreCase": false }, { "type": "adjacent" }, { "type": "tag", "name": "p" } ] ], "param": [ [ { "type": "tag", "name": "param" } ] ], "property[name=prop2]": [ [ { "type": "tag", "name": "property" }, { "type": "attribute", "name": "name", "action": "equals", "value": "prop2", "ignoreCase": false } ] ], "select": [ [ { "type": "tag", "name": "select" } ] ], "select[name='select2'] option:selected": [ [ { "type": "tag", "name": "select" }, { "type": "attribute", "name": "name", "action": "equals", "value": "select2", "ignoreCase": false }, { "type": "descendant" }, { "type": "tag", "name": "option" }, { "type": "pseudo", "name": "selected", "data": null } ] ], "soap\\:Envelope": [ [ { "type": "tag", "name": "soap:envelope" } ] ], "span": [ [ { "type": "tag", "name": "span" } ] ], "span > span": [ [ { "type": "tag", "name": "span" }, { "type": "child" }, { "type": "tag", "name": "span" } ] ], "span span": [ [ { "type": "tag", "name": "span" }, { "type": "descendant" }, { "type": "tag", "name": "span" } ] ], "span ~ #level3_2": [ [ { "type": "tag", "name": "span" }, { "type": "sibling" }, { "type": "attribute", "name": "id", "action": "equals", "value": "level3_2", "ignoreCase": false } ] ], "span#dupL1": [ [ { "type": "tag", "name": "span" }, { "type": "attribute", "name": "id", "action": "equals", "value": "dupL1", "ignoreCase": false } ] ], "span.span_bar": [ [ { "type": "tag", "name": "span" }, { "type": "attribute", "name": "class", "action": "element", "value": "span_bar", "ignoreCase": false } ] ], "span.span_foo": [ [ { "type": "tag", "name": "span" }, { "type": "attribute", "name": "class", "action": "element", "value": "span_foo", "ignoreCase": false } ] ], "span.span_wtf": [ [ { "type": "tag", "name": "span" }, { "type": "attribute", "name": "class", "action": "element", "value": "span_wtf", "ignoreCase": false } ] ], "span:empty > *": [ [ { "type": "tag", "name": "span" }, { "type": "pseudo", "name": "empty", "data": null }, { "type": "child" }, { "type": "universal" } ] ], "span:first-child": [ [ { "type": "tag", "name": "span" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "span:nth-child(5)": [ [ { "type": "tag", "name": "span" }, { "type": "pseudo", "name": "nth-child", "data": "5" } ] ], "span[lang=中文]": [ [ { "type": "tag", "name": "span" }, { "type": "attribute", "name": "lang", "action": "equals", "value": "中文", "ignoreCase": false } ] ], "strong": [ [ { "type": "tag", "name": "strong" } ] ], "strong#strong": [ [ { "type": "tag", "name": "strong" }, { "type": "attribute", "name": "id", "action": "equals", "value": "strong", "ignoreCase": false } ] ], "tostring#toString": [ [ { "type": "tag", "name": "tostring" }, { "type": "attribute", "name": "id", "action": "equals", "value": "toString", "ignoreCase": false } ] ], "ul > li": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" } ] ], "ul > li:first-child": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "first-child", "data": null } ] ], "ul > li:last-child": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "last-child", "data": null } ] ], "ul > li:nth-child(1)": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-child", "data": "1" } ] ], "ul > li:nth-child(2n)": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-child", "data": "2n" } ] ], "ul > li:nth-child(2n+1)": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-child", "data": "2n+1" } ] ], "ul > li:nth-child(even)": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-child", "data": "even" } ] ], "ul > li:nth-child(n)": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-child", "data": "n" } ] ], "ul > li:nth-child(n-128)": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-child", "data": "n-128" } ] ], "ul > li:nth-child(odd)": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-child", "data": "odd" } ] ], "ul > li:nth-last-child(1)": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" }, { "type": "pseudo", "name": "nth-last-child", "data": "1" } ] ], "ul#first": [ [ { "type": "tag", "name": "ul" }, { "type": "attribute", "name": "id", "action": "equals", "value": "first", "ignoreCase": false } ] ], "ul:empty": [ [ { "type": "tag", "name": "ul" }, { "type": "pseudo", "name": "empty", "data": null } ] ], "ul>li": [ [ { "type": "tag", "name": "ul" }, { "type": "child" }, { "type": "tag", "name": "li" } ] ] } css-what-3.2.1/src/__fixtures__/tests.ts000066400000000000000000000222161356163777200202400ustar00rootroot00000000000000import { Selector } from ".."; export const tests: [string, Selector[][], string][] = [ //tag names [ "div", [ [ { type: "tag", name: "div" } ] ], "simple tag" ], [ "*", [ [ { type: "universal" } ] ], "universal" ], //traversal [ "div div", [ [ { type: "tag", name: "div" }, { type: "descendant" }, { type: "tag", name: "div" } ] ], "descendant" ], [ "div\t \n \tdiv", [ [ { type: "tag", name: "div" }, { type: "descendant" }, { type: "tag", name: "div" } ] ], "descendant /w whitespace" ], [ "div + div", [ [ { type: "tag", name: "div" }, { type: "adjacent" }, { type: "tag", name: "div" } ] ], "adjacent" ], [ "div ~ div", [ [ { type: "tag", name: "div" }, { type: "sibling" }, { type: "tag", name: "div" } ] ], "sibling" ], [ "p < div", [ [ { type: "tag", name: "p" }, { type: "parent" }, { type: "tag", name: "div" } ] ], "parent" ], //Escaped whitespace [ "#\\ > a ", [ [ { type: "attribute", action: "equals", name: "id", value: " ", ignoreCase: false }, { type: "child" }, { type: "tag", name: "a" } ] ], "Space between escaped space and combinator" ], [ ".\\ ", [ [ { type: "attribute", name: "class", action: "element", value: " ", ignoreCase: false } ] ], "Space after escaped space" ], [ ".m™²³", [ [ { type: "attribute", name: "class", action: "element", value: "m™²³", ignoreCase: false } ] ], "Special charecters in selector" ], [ "\\61 ", [ [ { type: "tag", name: "a" } ] ], "Numeric escape with space (BMP)" ], [ "\\1d306\\01d306", [ [ { type: "tag", name: "\uD834\uDF06\uD834\uDF06" } ] ], "Numeric escape (outside BMP)" ], [ "#\\26 B", [ [ { type: "attribute", action: "equals", name: "id", value: "&B", ignoreCase: false }, ] ], "id selector with escape sequence" ], //attributes [ '[name^="foo["]', [ [ { type: "attribute", name: "name", action: "start", value: "foo[", ignoreCase: false } ] ], "quoted attribute" ], [ '[name^="foo[bar]"]', [ [ { type: "attribute", name: "name", action: "start", value: "foo[bar]", ignoreCase: false } ] ], "quoted attribute" ], [ '[name$="[bar]"]', [ [ { type: "attribute", name: "name", action: "end", value: "[bar]", ignoreCase: false } ] ], "quoted attribute" ], [ '[href *= "google"]', [ [ { type: "attribute", name: "href", action: "any", value: "google", ignoreCase: false } ] ], "quoted attribute with spaces" ], [ '[value="\nsome text\n"]', [ [ { type: "attribute", name: "value", action: "equals", value: "\nsome text\n", ignoreCase: false } ] ], "quoted attribute with internal newline" ], [ "[name=foo\\.baz]", [ [ { type: "attribute", name: "name", action: "equals", value: "foo.baz", ignoreCase: false } ] ], "attribute with escaped dot" ], [ "[name=foo\\[bar\\]]", [ [ { type: "attribute", name: "name", action: "equals", value: "foo[bar]", ignoreCase: false } ] ], "attribute with escaped square brackets" ], [ "[xml\\:test]", [ [ { type: "attribute", name: "xml:test", action: "exists", value: "", ignoreCase: false } ] ], "escaped attribute" ], [ "[name='foo ~ < > , bar' i]", [ [ { type: "attribute", name: "name", action: "equals", value: "foo ~ < > , bar", ignoreCase: true } ] ], "attribute with previously normalized characters" ], //pseudo selectors [ ":foo", [ [ { type: "pseudo", name: "foo", data: null } ] ], "pseudo selector without any data" ], [ ":bar(baz)", [ [ { type: "pseudo", name: "bar", data: "baz" } ] ], "pseudo selector with data" ], [ ':contains("(foo)")', [ [ { type: "pseudo", name: "contains", data: "(foo)" } ] ], "pseudo selector with data" ], [ ":icontains('')", [ [ { type: "pseudo", name: "icontains", data: "" } ] ], "pseudo selector with quote-stripped data" ], [ ':contains("(foo)")', [ [ { type: "pseudo", name: "contains", data: "(foo)" } ] ], "pseudo selector with data" ], //multiple selectors [ "a , b", [ [ { type: "tag", name: "a" } ], [ { type: "tag", name: "b" } ] ], "multiple selectors" ] ]; css-what-3.2.1/src/index.ts000066400000000000000000000001711356163777200155340ustar00rootroot00000000000000export * from "./parse"; export { default as parse } from "./parse"; export { default as stringify } from "./stringify"; css-what-3.2.1/src/parse.spec.ts000066400000000000000000000011031356163777200164640ustar00rootroot00000000000000import { readFileSync } from "fs"; import { parse } from "."; import { tests } from "./__fixtures__/tests"; describe("parse own tests", () => { tests.forEach(([selector, expected, message]) => test(message, () => expect(parse(selector)).toStrictEqual(expected)) ); }); describe("Collected selectors", () => { test("(qwery, sizzle, nwmatcher)", () => { const out = JSON.parse( readFileSync(`${__dirname}/__fixtures__/out.json`, "utf8") ); Object.keys(out).forEach(s => expect(parse(s)).toStrictEqual(out[s])); }); }); css-what-3.2.1/src/parse.ts000066400000000000000000000237661356163777200155560ustar00rootroot00000000000000"use strict"; export default parse; export interface Options { lowerCaseAttributeNames?: boolean; lowerCaseTags?: boolean; xmlMode?: boolean; } export type Selector = | PseudoSelector | PseudoElement | AttributeSelector | TagSelector | UniversalSelector | Traversal; export interface AttributeSelector { type: "attribute"; name: string; action: AttributeAction; value: string; ignoreCase: boolean; } type DataType = Selector[][] | null | string; export interface PseudoSelector { type: "pseudo"; name: string; data: DataType; } export interface PseudoElement { type: "pseudo-element"; name: string; } export interface TagSelector { type: "tag"; name: string; } export interface UniversalSelector { type: "universal"; } export interface Traversal { type: TraversalType; } export type AttributeAction = | "any" | "element" | "end" | "equals" | "exists" | "hyphen" | "not" | "start"; export type TraversalType = | "adjacent" | "child" | "descendant" | "parent" | "sibling"; const reName = /^(?:\\([\da-f]{1,6}\s?|(\s)|.)|[\w\-\u00b0-\uFFFF])+/, reEscape = /\\([\da-f]{1,6}\s?|(\s)|.)/gi, //modified version of https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L87 reAttr = /^\s*((?:\\.|[\w\u00b0-\uFFFF-])+)\s*(?:(\S?)=\s*(?:(['"])([^]*?)\3|(#?(?:\\.|[\w\u00b0-\uFFFF-])*)|)|)\s*(i)?\]/; const actionTypes: { [key: string]: AttributeAction } = { undefined: "exists", "": "equals", "~": "element", "^": "start", $: "end", "*": "any", "!": "not", "|": "hyphen" }; const Traversals: { [key: string]: TraversalType } = { ">": "child", "<": "parent", "~": "sibling", "+": "adjacent" }; const attribSelectors: { [key: string]: [string, AttributeAction] } = { "#": ["id", "equals"], ".": ["class", "element"] }; //pseudos, whose data-property is parsed as well const unpackPseudos = new Set(["has", "not", "matches"]); const stripQuotesFromPseudos = new Set(["contains", "icontains"]); const quotes = new Set(['"', "'"]); //unescape function taken from https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L152 function funescape(_: string, escaped: string, escapedWhitespace?: string) { const high = parseInt(escaped, 16) - 0x10000; // NaN means non-codepoint return high !== high || escapedWhitespace ? escaped : high < 0 ? // BMP codepoint String.fromCharCode(high + 0x10000) : // Supplemental Plane codepoint (surrogate pair) String.fromCharCode((high >> 10) | 0xd800, (high & 0x3ff) | 0xdc00); } function unescapeCSS(str: string) { return str.replace(reEscape, funescape); } function isWhitespace(c: string) { return c === " " || c === "\n" || c === "\t" || c === "\f" || c === "\r"; } function parse(selector: string, options?: Options): Selector[][] { const subselects: Selector[][] = []; selector = parseSelector(subselects, selector + "", options); if (selector !== "") { throw new Error(`Unmatched selector: ${selector}`); } return subselects; } function parseSelector( subselects: Selector[][], selector: string, options?: Options ): string { let tokens: Selector[] = [], sawWS = false; function getName(): string { const match = selector.match(reName); if (!match) { throw new Error(`Expected name, found ${selector}`); } const [sub] = match; selector = selector.substr(sub.length); return unescapeCSS(sub); } function stripWhitespace(start: number) { while (isWhitespace(selector.charAt(start))) start++; selector = selector.substr(start); } function isEscaped(pos: number): boolean { let slashCount = 0; while (selector.charAt(--pos) === "\\") slashCount++; return (slashCount & 1) === 1; } stripWhitespace(0); while (selector !== "") { const firstChar = selector.charAt(0); if (isWhitespace(firstChar)) { sawWS = true; stripWhitespace(1); } else if (firstChar in Traversals) { tokens.push({ type: Traversals[firstChar] }); sawWS = false; stripWhitespace(1); } else if (firstChar === ",") { if (tokens.length === 0) { throw new Error("Empty sub-selector"); } subselects.push(tokens); tokens = []; sawWS = false; stripWhitespace(1); } else { if (sawWS) { if (tokens.length > 0) { tokens.push({ type: "descendant" }); } sawWS = false; } if (firstChar === "*") { selector = selector.substr(1); tokens.push({ type: "universal" }); } else if (firstChar in attribSelectors) { const [name, action] = attribSelectors[firstChar]; selector = selector.substr(1); tokens.push({ type: "attribute", name, action, value: getName(), ignoreCase: false }); } else if (firstChar === "[") { selector = selector.substr(1); const data = selector.match(reAttr); if (!data) { throw new Error( `Malformed attribute selector: ${selector}` ); } selector = selector.substr(data[0].length); let name = unescapeCSS(data[1]); if ( !options || ("lowerCaseAttributeNames" in options ? options.lowerCaseAttributeNames : !options.xmlMode) ) { name = name.toLowerCase(); } tokens.push({ type: "attribute", name: name, action: actionTypes[data[2]], value: unescapeCSS(data[4] || data[5] || ""), ignoreCase: !!data[6] }); } else if (firstChar === ":") { if (selector.charAt(1) === ":") { selector = selector.substr(2); tokens.push({ type: "pseudo-element", name: getName().toLowerCase() }); continue; } selector = selector.substr(1); const name = getName().toLowerCase(); let data: DataType = null; if (selector.charAt(0) === "(") { if (unpackPseudos.has(name)) { const quot = selector.charAt(1); const quoted = quotes.has(quot); selector = selector.substr(quoted ? 2 : 1); data = []; selector = parseSelector(data, selector, options); if (quoted) { if (selector.charAt(0) !== quot) { throw new Error(`Unmatched quotes in :${name}`); } else { selector = selector.substr(1); } } if (selector.charAt(0) !== ")") { throw new Error( `Missing closing parenthesis in :${name} (${selector})` ); } selector = selector.substr(1); } else { let pos = 1, counter = 1; for (; counter > 0 && pos < selector.length; pos++) { if (selector.charAt(pos) === "(" && !isEscaped(pos)) counter++; else if ( selector.charAt(pos) === ")" && !isEscaped(pos) ) counter--; } if (counter) { throw new Error("Parenthesis not matched"); } data = selector.substr(1, pos - 2); selector = selector.substr(pos); if (stripQuotesFromPseudos.has(name)) { const quot = data.charAt(0); if (quot === data.slice(-1) && quotes.has(quot)) { data = data.slice(1, -1); } data = unescapeCSS(data); } } } tokens.push({ type: "pseudo", name: name, data: data }); } else if (reName.test(selector)) { let name = getName(); if ( !options || ("lowerCaseTags" in options ? options.lowerCaseTags : !options.xmlMode) ) { name = name.toLowerCase(); } tokens.push({ type: "tag", name: name }); } else { if ( tokens.length && tokens[tokens.length - 1].type === "descendant" ) { tokens.pop(); } addToken(subselects, tokens); return selector; } } } addToken(subselects, tokens); return selector; } function addToken(subselects: Selector[][], tokens: Selector[]) { if (subselects.length > 0 && tokens.length === 0) { throw new Error("Empty sub-selector"); } subselects.push(tokens); } css-what-3.2.1/src/stringify.ts000066400000000000000000000040601356163777200164440ustar00rootroot00000000000000import { Selector } from "./parse"; const actionTypes: { [key: string]: string } = { equals: "", element: "~", start: "^", end: "$", any: "*", not: "!", hyphen: "|" }; const simpleSelectors: { [key: string]: string } = { child: " > ", parent: " < ", sibling: " ~ ", adjacent: " + ", descendant: " ", universal: "*" }; export default function stringify(token: Selector[][]): string { return token.map(stringifySubselector).join(", "); } function stringifySubselector(token: Selector[]): string { return token.map(stringifyToken).join(""); } function stringifyToken(token: Selector): string { if (token.type in simpleSelectors) return simpleSelectors[token.type]; if (token.type === "tag") return escapeName(token.name); if (token.type === "pseudo-element") return `::${escapeName(token.name)}`; if (token.type === "attribute") { if (token.action === "exists") { return `[${escapeName(token.name)}]`; } if ( token.name === "id" && token.action === "equals" && !token.ignoreCase ) { return `#${escapeName(token.value)}`; } if ( token.name === "class" && token.action === "element" && !token.ignoreCase ) { return `.${escapeName(token.value)}`; } const atributeName = escapeName(token.name); const action = actionTypes[token.action]; const value = escapeName(token.value); const ignoreCase = token.ignoreCase ? "i" : ""; return `[${atributeName}${action}='${value}'${ignoreCase}]`; } if (token.type === "pseudo") { if (token.data === null) return `:${escapeName(token.name)}`; if (typeof token.data === "string") { return `:${escapeName(token.name)}(${token.data})`; } return `:${escapeName(token.name)}(${stringify(token.data)})`; } throw new Error("Unknown type"); } function escapeName(str: string): string { //TODO return str; } css-what-3.2.1/tsconfig.json000066400000000000000000000036141356163777200160020ustar00rootroot00000000000000{ "compilerOptions": { /* Basic Options */ "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, // "lib": [], /* Specify library files to be included in the compilation. */ "declaration": true /* Generates corresponding '.d.ts' file. */, "declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */, // "sourceMap": true, /* Generates corresponding '.map' file. */ "outDir": "lib" /* Redirect output structure to the directory. */, // "importHelpers": true, /* Import emit helpers from 'tslib'. */ /* Strict Type-Checking Options */ "strict": true /* Enable all strict type-checking options. */, /* Additional Checks */ "noUnusedLocals": true /* Report errors on unused locals. */, "noUnusedParameters": true /* Report errors on unused parameters. */, "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, /* Module Resolution Options */ // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, "resolveJsonModule": true }, "include": ["src"], "exclude": [ "**/*.spec.ts", "**/__fixtures__/*", "**/__tests__/*", "**/__snapshots__/*" ] }