diff --git a/.ebextensions/.config b/.ebextensions/.config new file mode 100644 index 0000000..ad58708 --- /dev/null +++ b/.ebextensions/.config @@ -0,0 +1,5 @@ +option_settings: + aws:elb:loadbalancer: + ManagedSecurityGroup: sg-c62008b6 + aws:elb:loadbalancer: + SecurityGroups: sg-c62008b6 \ No newline at end of file diff --git a/.editorconfig b/.editorconfig index 3ee22e5..c60b975 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,3 +11,5 @@ end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true +[Makefile] +indent_style = tab diff --git a/.elasticbeanstalk/config.yml b/.elasticbeanstalk/config.yml new file mode 100644 index 0000000..1339132 --- /dev/null +++ b/.elasticbeanstalk/config.yml @@ -0,0 +1,25 @@ +branch-defaults: + INT-SKY-GRADD: + environment: missions-stg2 + group_suffix: null + master: + environment: missions-stg + group_suffix: null +environment-defaults: + missions-stg: + branch: null + repository: null +global: + application_name: missions + branch: null + default_ec2_keyname: missions-stg-key + default_platform: Docker 17.09.1-ce + default_region: us-east-1 + include_git_submodules: true + instance_profile: null + platform_name: null + platform_version: null + profile: eb-cli-dav + repository: null + sc: git + workspace_type: Application diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 6310a89..ebcfa41 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -24,6 +24,7 @@ - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) +- [ ] Enhancement that improves upon existing functionality ## Checklist: diff --git a/.gitignore b/.gitignore index db94931..d28ba3c 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ yarn-debug.log* yarn-error.log* package-lock.json +src/build diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d12937b..323c90e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,9 +17,10 @@ A lot of **missions** functionality came from pull requests sent by the develope - [x] Fork the repository from the [missions GitHub page](https://github.com/DAVFoundation/missions). - [x] Clone a copy to your local machine with `$ git clone git@github.com:YOUR-GITHUB-USER-NAME/missions.git` - [x] Run `npm install` to install all the packages -- [x] Run `npm start` to build the project +- [x] Run `npm start` to build the project - [x] Open [http://localhost:3333/](http://localhost:3333/) to see your local instance of missions live. -- [x] If you would like to see some simulated drones appear on the map, you will also need to set up the [Mission Control](https://github.com/DAVFoundation/missioncontrol/blob/master/CONTRIBUTING.md) project. +- [x] If you would like to see some simulated drones appear on the map, you will also need to set up the [Mission Control](https://github.com/DAVFoundation/missioncontrol/blob/master/CONTRIBUTING.md) project as well as the [Captain-Sim](https://github.com/DAVFoundation/captain-sim/blob/master/CONTRIBUTING.md) project. +- [x] To be able to make transactions on ethereum network, you need to set up [contracts](https://github.com/DAVFoundation/contracts) project, and set the build symlinks at missions/src, to point your build directory at contracts project, with `$ ln -sf /path/to/contracts/build /path/to/missions/src/build`. - [x] Now, code, code, code. - [x] Commit your local changes by using `$ git commit -m "nice detailed message here..."` - [x] Once you've made sure all your changes work correctly and have been committed, push your local changes back to github with `$ git push -u origin master` @@ -28,7 +29,7 @@ A lot of **missions** functionality came from pull requests sent by the develope #### Important: -* This project is just the client-facing side of missions. You can run it on its own and do some limited development, but you won't see any drones on the map, or get any responses to your requests for pickups. To get the full-experience, you will need to also [get **Mission Control** up and running](https://github.com/DAVFoundation/missioncontrol/blob/master/CONTRIBUTING.md) in a separate console window +* This project is just the client-facing side of missions. You can run it on its own and do some limited development, but you won't see any drones on the map, or get any responses to your requests for pickups. To get the full-experience, you will need to also (https://github.com/DAVFoundation/missioncontrol/blob/master/CONTRIBUTING.md) in a separate console window * Please stick to the project's existing coding style. Coding styles don't need to have a consensus, they just need to be consistent :smile: * Push your changes to a topic branch in your fork of the repository. Your branch should be based on the `master` branch * When submitting a [pull request](https://help.github.com/articles/using-pull-requests/), please elaborate as much as possible about the change, your motivation for the change, etc. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d618f0d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM node:9 +RUN npm i -g webpack webpack-cli + +WORKDIR /app +COPY . /app +RUN npm i + +CMD npm run start-stg + +EXPOSE 3333 \ No newline at end of file diff --git a/Dockerrun.aws.json b/Dockerrun.aws.json new file mode 100755 index 0000000..d1ec807 --- /dev/null +++ b/Dockerrun.aws.json @@ -0,0 +1,10 @@ +{ + "AWSEBDockerrunVersion": "1", + "Volumes": [ + { + "ContainerDirectory": "/var/app", + "HostDirectory": "/var/app" + } + ], + "Logging": "/var/eb_log" +} \ No newline at end of file diff --git a/LICENSE b/LICENSE index a14c8b2..a7dd6de 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 DAV Foundation +Copyright (c) 2019 DAV Foundation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Makefile b/Makefile index f549184..36325ed 100644 --- a/Makefile +++ b/Makefile @@ -1,26 +1,42 @@ BUCKET=s3://missions.io/ -## deploy to staging -STG_BUCKET=s3://missions-stg/ -all: +STG_BUCKET=s3://stg.missions.io/ +WEBPACK=./node_modules/webpack/bin/webpack.js +WEBPACK_DEV=./node_modules/webpack-dev-server/bin/webpack-dev-server.js -setup: - @ npm i +FORCE: -start: setup - @ npm start +setup: FORCE + @npm i + @rsync -a ../dav-js/build src + +start-sim: setup + @export APP=drone_simulation && export DOMAIN=mooving && ${WEBPACK_DEV} --config webpack.dev.js + +start-sky: setup + @export APP=drone_charging && ${WEBPACK_DEV} --config webpack.dev.js + +start-gradd: setup + @export APP=route_plan && ${WEBPACK_DEV} --config webpack.dev.js + +stop: FORCE + @npm run stop build: setup - @ npm run build + @rsync -a ../dav-js/build src + @npm run build publish: build - @ aws s3 cp --recursive --acl public-read dist/ ${BUCKET} + @aws s3 cp --recursive --acl public-read dist/ ${BUCKET} build-stg: setup - @ npm run build-stg - -create-aws-stg-env: - ## create s3 bucket for missions - @aws s3api create-bucket --bucket missions-stg --region us-east-1 + @rsync -a ../dav-js/build src + @export APP=drone_simulation && export DOMAIN=mooving && ${WEBPACK} --config webpack.stg.js + @export APP=route_plan && export DOMAIN=mooving && ${WEBPACK} --config webpack.stg.js + @export APP=drone_charging && export DOMAIN=mooving && ${WEBPACK} --config webpack.stg.js + @cp -r ./src/html/. ./dist/route_plan/html deploy-aws-stg-env: build-stg - @aws s3 cp --recursive --acl public-read dist/ ${STG_BUCKET} + @aws s3 cp --recursive --acl public-read dist/drone_simulation s3://mooving.io/ + @aws s3 cp --recursive --acl public-read dist/route_plan s3://route-plan.mooving.io/ + @aws s3 cp --recursive --acl public-read dist/drone_charging s3://drone-charging.mooving.io/ + # @aws s3 cp --recursive --acl public-read dist/ ${STG_BUCKET} diff --git a/README.md b/README.md index ad50e04..39b1fa6 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ > By DAV -Missions is the client facing side of the marketplace connecting DAV users looking to ship packages, with autonomous vehicles. +Missions is the client facing side of the marketplace connecting DAV users with transportation service providers -It demonstrates how a third party might build their own product, while integrating technologies provided by DAV, and provide a way for users and autonomous vehicles to transact. +It demonstrates how a third party might build their own product, while integrating technologies provided by DAV, and provide a way for users and transportation services to interact and transact. ### Contributing Code, Reporting Bugs and Suggesting Features diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f5e1872 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3' + +services: + missions: + build: . + command: 'npm run start' + ports: + - '3333:3333' + environment: + NODE_ENV: development + ETH_NODE_URL: http://dav-contracts:8545 + MISSION_CONTROL_URL: http://mission-control:8443 + BLOCKCHAIN_TYPE: NONE + networks: + - dav + external_links: + - missioncontrol_missioncontrol_1:mission-control + - dav-contracts:dav-contracts +networks: + dav: + external: true diff --git a/package.json b/package.json index 471f957..a37d79f 100644 --- a/package.json +++ b/package.json @@ -6,33 +6,44 @@ "bugs": { "url": "https://github.com/DAVFoundation/missions/issues" }, - "license": "MIT", - "author": "Tal Ater ", "repository": { "type": "git", "url": "https://github.com/DAVFoundation/missions.git" }, + "license": "MIT", + "author": "Tal Ater ", "scripts": { "build": "webpack --config webpack.prod.js", "build-stg": "webpack --config webpack.stg.js", "start": "webpack-dev-server --config webpack.dev.js", + "start-stg": "webpack-dev-server --config webpack.stg.js", + "stop": "kill $(ps aux | grep 'webpack' | awk '{print $2}')", "test": "jest" }, + "jest": { + "moduleNameMapper": { + "\\.(css|jpg|png|svg)$": "/empty-module.js" + } + }, "dependencies": { "@turf/turf": "^5.1.6", + "callback-timeout": "^3.0.1", "mapbox-gl": "~0.44.1", "moment": "^2.20.1", "randomstring": "^1.1.5", "react": "^16.2.0", - "react-dom": "^16.2.0", + "react-dom": "^16.2.1", "react-geosuggest": "^2.7.0", + "react-rangeslider": "^2.2.0", "react-redux": "^5.0.7", "react-router-dom": "^4.2.2", "redux": "^3.7.2", "redux-actions": "^2.2.1", "redux-devtools-extension": "^2.13.2", "redux-promise-middleware": "5.0.0", - "turf": "^3.0.14" + "truffle-contract": "^3.0.4", + "turf": "^3.0.14", + "web3": "^1.0.0-beta.34" }, "devDependencies": { "babel-core": "^6.26.0", @@ -56,10 +67,5 @@ "webpack": "^3.11.0", "webpack-dev-server": "^2.11.1", "webpack-merge": "^4.1.1" - }, - "jest": { - "moduleNameMapper": { - "\\.(css|jpg|png|svg)$": "/empty-module.js" - } } -} +} \ No newline at end of file diff --git a/src/actions/index.js b/src/actions/index.js index 1e7c495..9148dd5 100644 --- a/src/actions/index.js +++ b/src/actions/index.js @@ -1,11 +1,20 @@ -import { createAction } from 'redux-actions'; +import { + createAction +} from 'redux-actions'; + import { fetchStatus as apiFetchStatus, - createNeed as apiCreateNeed, + updateMissionStatus as apiUpdateMissionStatus, fetchBids as apiFetchBids, chooseBid as apiChooseBid, + fetchSimulationDrones, + initWeb3, confirmTakeoff as apiConfirmTakeoff, -} from '../lib/api'; + initWeb3_NO_BLOCKCHAIN, + registerDavId as davRegisterDavId, + createMissionTransaction as davCreateMissionTransaction, + approveCompletedMission as davApproveCompletedMission +} from '../lib/dav'; export const updateApp = createAction('UPDATE_APP'); @@ -13,13 +22,36 @@ export const updateStatus = createAction('UPDATE_STATUS', apiFetchStatus); export const updateStatusFulfilled = createAction('UPDATE_STATUS_FULFILLED'); +export const getSimulationDrones = createAction('GET_SIMULATION_DRONES', fetchSimulationDrones); +export const getSimulationDronesFulfilled = createAction('GET_SIMULATION_DRONES_FULFILLED'); + +export const verifyDavId = createAction('VERIFY_DAV_ID', initWeb3); + +export const verifyDavId_NO_BLOCKCHAIN = createAction('VERIFY_DAV_ID', initWeb3_NO_BLOCKCHAIN); + +export const updateDavId = createAction('UPDATE_DAV_ID'); + +export const updateContractMissionIdMissionId = createAction('UPDATE_CONTRACT_MISSION_ID'); + +export const registerDavId = createAction('REGISTER_DAV_ID', davRegisterDavId); + +export const registerDavIdFulfilled = createAction('REGISTER_DAV_ID_FULFILLED'); + +export const unregisteredDavId = createAction('UNREGISTERED_DAV_ID'); + +export const unlockWallet = createAction('UNLOCK_WALLET'); + +export const closeWalletDialog = createAction('CLOSE_WALLET_DIALOG'); + export const updateMapCoords = createAction('UPDATE_MAP_COORDS'); export const updateOrderDetails = createAction('UPDATE_ORDER_DETAILS'); export const resetOrderDetails = createAction('RESET_ORDER_DETAILS'); -export const createNeed = createAction('CREATE_NEED', apiCreateNeed); +export const createDroneDeliveryNeedFulfilled = createAction('CREATE_DRONEDELIVERY_NEED_FULFILLED'); +export const createDroneChargingNeedFulfilled = createAction('CREATE_CHARGING_NEED_FULFILLED'); +export const createRoutePlanNeedFulfilled = createAction('CREATE_ROUTEPLAN_NEED_FULFILLED'); export const createNeedFulfilled = createAction('CREATE_NEED_FULFILLED'); @@ -33,13 +65,34 @@ export const chooseBidPending = createAction('CHOOSE_BID_PENDING'); export const chooseBidFulfilled = createAction('CHOOSE_BID_FULFILLED'); -export const confirmTakeoff = createAction( - 'CONFIRM_TAKEOFF', - apiConfirmTakeoff, -); +export const createMissionTransaction = createAction('CREATE_MISSION_TRANSACTION', davCreateMissionTransaction); + +export const createMissionTransactionFulfilled = createAction('CREATE_MISSION_TRANSACTION_FULFILLED'); + +export const createMissionTransactionFailed = createAction('CREATE_MISSION_TRANSACTION_FAILED'); + +export const approveCompletedMission = createAction('APPROVE_COMPLETED_MISSION', davApproveCompletedMission); + +export const confirmTakeoff = createAction('CONFIRM_TAKEOFF', apiConfirmTakeoff); export const confirmTakeoffPending = createAction('CONFIRM_TAKEOFF_PENDING'); -export const confirmTakeoffFulfilled = createAction( - 'CONFIRM_TAKEOFF_FULFILLED', -); +export const confirmTakeoffFulfilled = createAction('CONFIRM_TAKEOFF_FULFILLED'); + + +export const confirmDroneDocking = createAction('CONFIRM_DRONE_DOCKING'); + +export const updateMissionStatus = createAction('UPDATE_MISSION_STATUS', apiUpdateMissionStatus); +// for charging mock purposes + +export const completeChargingMission = createAction('COMPLETE_CHARGING_MISSION'); + +const apiStartChargingMission = (mission) => { + return new Promise(resolve => resolve({ + mission + })); +}; + +export const startChargingMission = createAction('START_CHARGING_MISSION', apiStartChargingMission); + +export const startChargingMissionFulfilled = createAction('START_CHARGING_MISSION_FULFILLED'); diff --git a/src/apps/delivery_drones/App.jsx b/src/apps/delivery_drones/App.jsx index 979578d..7e7cf71 100644 --- a/src/apps/delivery_drones/App.jsx +++ b/src/apps/delivery_drones/App.jsx @@ -3,8 +3,8 @@ import { BrowserRouter as Router, Route } from 'react-router-dom'; import { initializeApp } from '../../lib/app'; import Map from '../../containers/MapContainer.jsx'; import MainScreenContainer from '../../containers/MainScreenContainer.jsx'; -import VehicleDetailsScreenContainer from '../../containers/VehicleDetailsScreenContainer.jsx'; -import OrderScreenContainer from '../../containers/OrderScreenContainer.jsx'; +import MapItemDetailsScreenContainer from '../../containers/MapItemDetailsScreenContainer.jsx'; +import OrderScreenContainer from '../../containers/delivery_drones/OrderScreenContainer.jsx'; import MissionContainer from '../../containers/MissionContainer.jsx'; import SearchingScreenContainer from '../../containers/SearchingScreenContainer.jsx'; import ConfirmPickupContainer from '../../containers/ConfirmTakeoffContainer.jsx'; @@ -15,28 +15,26 @@ class App extends Component { componentDidMount() { initializeApp(); } - render() { return (
- + - + - + - - + - + - + - - + + - +
diff --git a/src/apps/delivery_drones/Main.jsx b/src/apps/delivery_drones/Main.jsx index 13a0549..c7c18b5 100644 --- a/src/apps/delivery_drones/Main.jsx +++ b/src/apps/delivery_drones/Main.jsx @@ -1,16 +1,21 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { Provider } from 'react-redux'; +import {Provider} from 'react-redux'; import store from '../../store'; import App from './App.jsx'; import '../../common.css'; import { updateApp } from '../../actions'; +import { NEED_TYPES } from '../../config/needTypes.js'; -store.dispatch(updateApp({ name: 'Drone Deliveries', path: '/delivery_drones' })); +store.dispatch(updateApp({ + name: 'Drone Deliveries', + path: '', + needType: NEED_TYPES.DRONE_DELIVERY +})); ReactDOM.render( - + , document.getElementById('app') ); diff --git a/src/apps/drone_charging/App.jsx b/src/apps/drone_charging/App.jsx new file mode 100644 index 0000000..8f6f1f9 --- /dev/null +++ b/src/apps/drone_charging/App.jsx @@ -0,0 +1,34 @@ +import React, {Component} from 'react'; +import {BrowserRouter as Router, Route} from 'react-router-dom'; +import Map from '../../containers/MapContainer.jsx'; +import {initializeApp} from '../../lib/app'; +import MainScreenContainer from '../../containers/MainScreenContainer.jsx'; +import OrderScreenContainer from '../../containers/drone_charging/OrderScreenContainer.jsx'; +import MapItemDetailsScreenContainer from '../../containers/MapItemDetailsScreenContainer.jsx'; +import SearchingScreenContainer from '../../containers/SearchingScreenContainer.jsx'; +import MissionContainer from '../../containers/MissionContainer.jsx'; + +class App extends Component { + + componentDidMount() { + initializeApp(); + } + + render() { + return ( + +
+ + + + + + + +
+
+ ); + } +} + +export default App; diff --git a/src/apps/drone_charging/Main.jsx b/src/apps/drone_charging/Main.jsx new file mode 100644 index 0000000..ce3ee6e --- /dev/null +++ b/src/apps/drone_charging/Main.jsx @@ -0,0 +1,21 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import {Provider} from 'react-redux'; +import store from '../../store'; +import App from './App.jsx'; +import '../../common.css'; +import { updateApp } from '../../actions'; +import { NEED_TYPES } from '../../config/needTypes.js'; + +store.dispatch(updateApp({ + name: 'Drone Charging', + path: '', + needType: NEED_TYPES.DRONE_CHARGING +})); + +ReactDOM.render( + + + , + document.getElementById('app') +); diff --git a/src/apps/drone_simulation/App.jsx b/src/apps/drone_simulation/App.jsx index b7dd48c..5dea769 100644 --- a/src/apps/drone_simulation/App.jsx +++ b/src/apps/drone_simulation/App.jsx @@ -3,8 +3,8 @@ import { BrowserRouter as Router, Route } from 'react-router-dom'; import { initializeApp } from '../../lib/app'; import Map from '../../containers/MapContainer.jsx'; import MainScreenContainer from '../../containers/MainScreenContainer.jsx'; -import VehicleDetailsScreenContainer from '../../containers/VehicleDetailsScreenContainer.jsx'; -import OrderScreenContainer from '../../containers/OrderScreenContainer.jsx'; +import MapItemDetailsScreenContainer from '../../containers/MapItemDetailsScreenContainer.jsx'; +import OrderScreenContainer from '../../containers/drone_simulation/OrderScreenContainer.jsx'; import MissionContainer from '../../containers/MissionContainer.jsx'; import SearchingScreenContainer from '../../containers/SearchingScreenContainer.jsx'; import ConfirmPickupContainer from '../../containers/ConfirmTakeoffContainer.jsx'; @@ -22,19 +22,18 @@ class App extends Component {
- + - - + - + - + - - + + diff --git a/src/apps/drone_simulation/Main.jsx b/src/apps/drone_simulation/Main.jsx index 7036fc1..163c1c3 100644 --- a/src/apps/drone_simulation/Main.jsx +++ b/src/apps/drone_simulation/Main.jsx @@ -1,16 +1,21 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { Provider } from 'react-redux'; +import {Provider} from 'react-redux'; import store from '../../store'; import App from './App.jsx'; import '../../common.css'; import { updateApp } from '../../actions'; +import { NEED_TYPES } from '../../config/needTypes.js'; -store.dispatch(updateApp({ name: 'Drone Delivery Simulation', path: '' })); +store.dispatch(updateApp({ + name: 'Drone Delivery Simulation', + path: '', + needType: NEED_TYPES.DRONE_DELIVERY +})); ReactDOM.render( - + , document.getElementById('app') ); diff --git a/src/apps/route_plan/App.jsx b/src/apps/route_plan/App.jsx new file mode 100644 index 0000000..46d7fc7 --- /dev/null +++ b/src/apps/route_plan/App.jsx @@ -0,0 +1,34 @@ +import React, {Component} from 'react'; +import {BrowserRouter as Router, Route} from 'react-router-dom'; +import Map from '../../containers/route_plan/MapContainer.jsx'; +import {initializeApp} from '../../lib/app'; +import MainScreenContainer from '../../containers/MainScreenContainer.jsx'; +import OrderScreenContainer from '../../containers/route_plan/OrderScreenContainer.jsx'; +import MapItemDetailsScreenContainer from '../../containers/MapItemDetailsScreenContainer.jsx'; +import SearchingScreenContainer from '../../containers/SearchingScreenContainer.jsx'; +import MissionContainer from '../../containers/MissionContainer.jsx'; + +class App extends Component { + + componentDidMount() { + initializeApp(); + } + + render() { + return ( + +
+ + + + + + + +
+
+ ); + } +} + +export default App; diff --git a/src/apps/route_plan/Main.jsx b/src/apps/route_plan/Main.jsx new file mode 100644 index 0000000..0024c78 --- /dev/null +++ b/src/apps/route_plan/Main.jsx @@ -0,0 +1,21 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import { Provider } from 'react-redux'; +import store from '../../store'; +import App from './App.jsx'; +import '../../common.css'; +import { updateApp } from '../../actions'; +import { NEED_TYPES } from '../../config/needTypes.js'; + +store.dispatch(updateApp({ + name: 'Route Plan', + path: '', + needType: NEED_TYPES.ROUTE_PLAN +})); + +ReactDOM.render( + + + , + document.getElementById('app') +); diff --git a/src/build/contracts/BasicMission.json b/src/build/contracts/BasicMission.json new file mode 100644 index 0000000..77eaf8b --- /dev/null +++ b/src/build/contracts/BasicMission.json @@ -0,0 +1,6165 @@ +{ + "contractName": "BasicMission", + "abi": [ + { + "inputs": [ + { + "name": "_identityContract", + "type": "address" + }, + { + "name": "_davTokenContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "name": "sellerId", + "type": "address" + }, + { + "indexed": false, + "name": "buyerId", + "type": "address" + } + ], + "name": "Create", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "id", + "type": "bytes32" + } + ], + "name": "Signed", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_missionId", + "type": "bytes32" + }, + { + "name": "_sellerId", + "type": "address" + }, + { + "name": "_buyerId", + "type": "address" + }, + { + "name": "_tokenAmount", + "type": "uint256" + } + ], + "name": "create", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_missionId", + "type": "bytes32" + } + ], + "name": "fulfilled", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50604051604080610cf3833981018060405281019080805190602001909291908051906020019092919050505081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610c23806100d06000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329daf3ce146100515780632aa91bfd146100bf575b600080fd5b6100bd6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100f0565b005b3480156100cb57600080fd5b506100ee60048036038101908080356000191690602001909291905050506106b9565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630795736083336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156101e157600080fd5b505af11580156101f5573d6000803e3d6000fd5b505050506040513d602081101561020b57600080fd5b8101908080519060200190929190505050151561022757600080fd5b80600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8b2cb4f846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b505050506040513d602081101561030f57600080fd5b81019080805190602001909291905050501015151561032d57600080fd5b600060016000866000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561039057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050506040513d60208110156104b357600080fd5b81019080805190602001909291905050505060c0604051908101604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020013481526020013481526020016000151581525060016000866000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a08201518160050160006101000a81548160ff0219169083151502179055509050507f0d87513b68afc9f4f16272206a73bfde370c86b8e9dadd0e4ab99f763b1d61168484846040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a150505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630795736060016000846000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156107e857600080fd5b505af11580156107fc573d6000803e3d6000fd5b505050506040513d602081101561081257600080fd5b8101908080519060200190929190505050151561082e57600080fd5b6000151560016000836000191660001916815260200190815260200160002060050160009054906101000a900460ff16151514151561086c57600080fd5b60016000826000191660001916815260200190815260200160002060030154600160008360001916600019168152602001908152602001600020600401541415156108b657600080fd5b600160008260001916600019168152602001908152602001600020600301543073ffffffffffffffffffffffffffffffffffffffff1631101515156108fa57600080fd5b6001806000836000191660001916815260200190815260200160002060050160006101000a81548160ff021916908315150217905550600060016000836000191660001916815260200190815260200160002060040181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68600160008460001916600019168152602001908152602001600020600201546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b5bd74160016000846000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b1657600080fd5b505af1158015610b2a573d6000803e3d6000fd5b505050506040513d6020811015610b4057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166108fc600160008460001916600019168152602001908152602001600020600301549081150290604051600060405180830381858888f19350505050158015610bb4573d6000803e3d6000fd5b507f2563bf12e759147ae41a036dffeece03c4db05da3b738a30dd100821f498c57c8160405180826000191660001916815260200191505060405180910390a1505600a165627a7a723058203c3e80df1f195cab94cfc775353dd5feb3b024d54773254bb3029e302e14d5530029", + "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329daf3ce146100515780632aa91bfd146100bf575b600080fd5b6100bd6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100f0565b005b3480156100cb57600080fd5b506100ee60048036038101908080356000191690602001909291905050506106b9565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630795736083336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156101e157600080fd5b505af11580156101f5573d6000803e3d6000fd5b505050506040513d602081101561020b57600080fd5b8101908080519060200190929190505050151561022757600080fd5b80600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8b2cb4f846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b505050506040513d602081101561030f57600080fd5b81019080805190602001909291905050501015151561032d57600080fd5b600060016000866000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561039057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050506040513d60208110156104b357600080fd5b81019080805190602001909291905050505060c0604051908101604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020013481526020013481526020016000151581525060016000866000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a08201518160050160006101000a81548160ff0219169083151502179055509050507f0d87513b68afc9f4f16272206a73bfde370c86b8e9dadd0e4ab99f763b1d61168484846040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a150505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630795736060016000846000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156107e857600080fd5b505af11580156107fc573d6000803e3d6000fd5b505050506040513d602081101561081257600080fd5b8101908080519060200190929190505050151561082e57600080fd5b6000151560016000836000191660001916815260200190815260200160002060050160009054906101000a900460ff16151514151561086c57600080fd5b60016000826000191660001916815260200190815260200160002060030154600160008360001916600019168152602001908152602001600020600401541415156108b657600080fd5b600160008260001916600019168152602001908152602001600020600301543073ffffffffffffffffffffffffffffffffffffffff1631101515156108fa57600080fd5b6001806000836000191660001916815260200190815260200160002060050160006101000a81548160ff021916908315150217905550600060016000836000191660001916815260200190815260200160002060040181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68600160008460001916600019168152602001908152602001600020600201546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b5bd74160016000846000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b1657600080fd5b505af1158015610b2a573d6000803e3d6000fd5b505050506040513d6020811015610b4057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166108fc600160008460001916600019168152602001908152602001600020600301549081150290604051600060405180830381858888f19350505050158015610bb4573d6000803e3d6000fd5b507f2563bf12e759147ae41a036dffeece03c4db05da3b738a30dd100821f498c57c8160405180826000191660001916815260200191505060405180910390a1505600a165627a7a723058203c3e80df1f195cab94cfc775353dd5feb3b024d54773254bb3029e302e14d5530029", + "sourceMap": "411:2797:0:-;;;1037:155;8:9:-1;5:2;;;30:1;27;20:12;5:2;1037:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1139:17;1128:8;;:28;;;;;;;;;;;;;;;;;;1170:17;1162:5;;:25;;;;;;;;;;;;;;;;;;1037:155;;411:2797;;;;;;", + "deployedSourceMap": "411:2797:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1475:861;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2422:783;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2422:783:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1475:861;1668:8;;;;;;;;;;;:24;;;1693:8;1703:10;1668:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1668:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1668:46:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1668:46:0;;;;;;;;;;;;;;;;1653:67;;;;;;;;1819:12;1786:8;;;;;;;;;;;:19;;;1806:8;1786:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1786:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1786:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1786:29:0;;;;;;;;;;;;;;;;:45;;1771:66;;;;;;;;1934:3;1904:8;:20;1913:10;1904:20;;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;:33;;;1889:54;;;;;;;;1997:5;;;;;;;;;;;:18;;;2016:10;2028:4;2034:12;1997:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1997:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1997:50:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1997:50:0;;;;;;;;;;;;;;;;;2099:168;;;;;;;;;2123:9;2099:168;;;;;;2147:8;2099:168;;;;;;2176:12;2099:168;;;;2202:9;2099:168;;;;2228:9;2099:168;;;;2255:5;2099:168;;;;;2076:8;:20;2085:10;2076:20;;;;;;;;;;;;;;;;;:191;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2292:39;2299:10;2311:9;2322:8;2292:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1475:861;;;;:::o;2422:783::-;2552:8;;;;;;;;;;;:24;;;2577:8;:20;2586:10;2577:20;;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;2605:10;2552:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2552:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2552:64:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2552:64:0;;;;;;;;;;;;;;;;2537:85;;;;;;;;2681:5;2648:38;;:8;:20;2657:10;2648:20;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;:38;;;2633:59;;;;;;;;2746:8;:20;2755:10;2746:20;;;;;;;;;;;;;;;;;:25;;;2714:8;:20;2723:10;2714:20;;;;;;;;;;;;;;;;;:28;;;:57;2699:78;;;;;;;;2828:8;:20;2837:10;2828:20;;;;;;;;;;;;;;;;;:25;;;2811:4;2803:21;;;:50;;2788:71;;;;;;;;2937:4;2905:8;:20;2914:10;2905:20;;;;;;;;;;;;;;;;;:29;;;:36;;;;;;;;;;;;;;;;;;2978:1;2947:8;:20;2956:10;2947:20;;;;;;;;;;;;;;;;;:28;;:32;;;;2985:5;;;;;;;;;;;:10;;;2996:8;:20;3005:10;2996:20;;;;;;;;;;;;;;;;;:32;;;2985:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2985:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2985:44:0;;;;3066:8;;;;;;;;;;;:26;;;3093:8;:20;3102:10;3093:20;;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;3066:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3066:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3066:55:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3066:55:0;;;;;;;;;;;;;;;;:64;;:91;3131:8;:20;3140:10;3131:20;;;;;;;;;;;;;;;;;:25;;;3066:91;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3066:91:0;3182:18;3189:10;3182:18;;;;;;;;;;;;;;;;;;;;;;;;2422:783;:::o", + "source": "pragma solidity 0.4.24;\n\nimport './Identity.sol';\nimport './DAVToken.sol';\n\n\n/**\n * @title BasicMission\n * @dev The most basic contract for conducting Missions.\n *\n * This contract represents the very basic interface of a mission contract.\n * In the real world, there is very little reason to use this and not one of the\n * contracts that extend it. Consider this an interface, more than an implementation.\n */\ncontract BasicMission {\n\n uint256 private nonce;\n\n struct Mission {\n address seller;\n address buyer;\n uint256 tokenAmount;\n uint256 cost;\n uint256 balance;\n bool isSigned;\n mapping (uint8 => bool) resolvers;\n }\n\n mapping (bytes32 => Mission) private missions;\n\n event Create(\n bytes32 id,\n address sellerId,\n address buyerId\n );\n\n event Signed(\n bytes32 id\n );\n\n DAVToken private token;\n Identity private identity;\n\n /**\n * @dev Constructor\n *\n * @param _identityContract address of the Identity contract\n * @param _davTokenContract address of the DAVToken contract\n */\n function BasicMission(Identity _identityContract, DAVToken _davTokenContract) public {\n identity = _identityContract;\n token = _davTokenContract;\n }\n\n /**\n * @notice Create a new mission\n * @param _sellerId The DAV Identity of the person providing the service\n * @param _buyerId The DAV Identity of the person ordering the service\n * @param _tokenAmount The amount of tokens to be burned when mission is completed\n */\n function create(bytes32 _missionId, address _sellerId, address _buyerId, uint256 _tokenAmount) public payable {\n // Verify that message sender controls the buyer's wallet\n require(\n identity.verifyOwnership(_buyerId, msg.sender)\n );\n\n // Verify buyer's balance is sufficient\n require(\n identity.getBalance(_buyerId) >= _tokenAmount\n );\n\n // Make sure id isn't registered already\n require(\n missions[_missionId].buyer == 0x0\n );\n\n // Transfer tokens to the mission contract\n token.transferFrom(msg.sender, this, _tokenAmount);\n\n // Create mission\n missions[_missionId] = Mission({\n seller: _sellerId,\n buyer: _buyerId,\n tokenAmount: _tokenAmount,\n cost: msg.value,\n balance: msg.value,\n isSigned: false\n });\n\n // Event\n emit Create(_missionId, _sellerId, _buyerId);\n }\n\n /**\n * @notice Fund a mission\n * @param _missionId The id of the mission\n */\n function fulfilled(bytes32 _missionId) public {\n // Verify that message sender controls the seller's wallet\n require(\n identity.verifyOwnership(missions[_missionId].buyer, msg.sender)\n );\n \n require(\n missions[_missionId].isSigned == false\n );\n\n require(\n missions[_missionId].balance == missions[_missionId].cost\n );\n \n require(\n address(this).balance >= missions[_missionId].cost\n );\n \n // designate mission as signed\n missions[_missionId].isSigned = true;\n missions[_missionId].balance = 0;\n token.burn(missions[_missionId].tokenAmount);\n\n // transfer ETH to seller\n identity.getIdentityWallet(missions[_missionId].seller).transfer(missions[_missionId].cost);\n\n // Event\n emit Signed(_missionId);\n }\n\n}\n", + "sourcePath": "/contracts/contracts/BasicMission.sol", + "ast": { + "absolutePath": "/contracts/contracts/BasicMission.sol", + "exportedSymbols": { + "BasicMission": [ + 221 + ] + }, + "id": 222, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "absolutePath": "/contracts/contracts/Identity.sol", + "file": "./Identity.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 222, + "sourceUnit": 1101, + "src": "25:24:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/contracts/contracts/DAVToken.sol", + "file": "./DAVToken.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 222, + "sourceUnit": 937, + "src": "50:24:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title BasicMission\n@dev The most basic contract for conducting Missions.\n * This contract represents the very basic interface of a mission contract.\nIn the real world, there is very little reason to use this and not one of the\ncontracts that extend it. Consider this an interface, more than an implementation.", + "fullyImplemented": true, + "id": 221, + "linearizedBaseContracts": [ + 221 + ], + "name": "BasicMission", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5, + "name": "nonce", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "438:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "438:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "canonicalName": "BasicMission.Mission", + "id": 22, + "members": [ + { + "constant": false, + "id": 7, + "name": "seller", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "485:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "485:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9, + "name": "buyer", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "505:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "505:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11, + "name": "tokenAmount", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "524:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "524:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 13, + "name": "cost", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "549:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "549:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "567:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "567:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17, + "name": "isSigned", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "588:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "588:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21, + "name": "resolvers", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "607:33:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint8_$_t_bool_$", + "typeString": "mapping(uint8 => bool)" + }, + "typeName": { + "id": 20, + "keyType": { + "id": 18, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "616:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Mapping", + "src": "607:23:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint8_$_t_bool_$", + "typeString": "mapping(uint8 => bool)" + }, + "valueType": { + "id": 19, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "625:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Mission", + "nodeType": "StructDefinition", + "scope": 221, + "src": "464:181:0", + "visibility": "public" + }, + { + "constant": false, + "id": 26, + "name": "missions", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "649:45:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission)" + }, + "typeName": { + "id": 25, + "keyType": { + "id": 23, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "658:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "649:28:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission)" + }, + "valueType": { + "contractScope": null, + "id": 24, + "name": "Mission", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22, + "src": "669:7:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage_ptr", + "typeString": "struct BasicMission.Mission" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 34, + "name": "Create", + "nodeType": "EventDefinition", + "parameters": { + "id": 33, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28, + "indexed": false, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 34, + "src": "717:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "717:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 30, + "indexed": false, + "name": "sellerId", + "nodeType": "VariableDeclaration", + "scope": 34, + "src": "733:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "733:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 32, + "indexed": false, + "name": "buyerId", + "nodeType": "VariableDeclaration", + "scope": 34, + "src": "755:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "755:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "711:63:0" + }, + "src": "699:76:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 38, + "name": "Signed", + "nodeType": "EventDefinition", + "parameters": { + "id": 37, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36, + "indexed": false, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 38, + "src": "797:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "797:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "791:20:0" + }, + "src": "779:33:0" + }, + { + "constant": false, + "id": 40, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "816:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + }, + "typeName": { + "contractScope": null, + "id": 39, + "name": "DAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 936, + "src": "816:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 42, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "842:25:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + }, + "typeName": { + "contractScope": null, + "id": 41, + "name": "Identity", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1100, + "src": "842:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "id": 57, + "nodeType": "Block", + "src": "1122:70:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 49, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1128:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 50, + "name": "_identityContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "1139:17:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "src": "1128:28:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 52, + "nodeType": "ExpressionStatement", + "src": "1128:28:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 53, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "1162:5:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 54, + "name": "_davTokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "1170:17:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "src": "1162:25:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 56, + "nodeType": "ExpressionStatement", + "src": "1162:25:0" + } + ] + }, + "documentation": "@dev Constructor\n * @param _identityContract address of the Identity contract\n@param _davTokenContract address of the DAVToken contract", + "id": 58, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "BasicMission", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 47, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44, + "name": "_identityContract", + "nodeType": "VariableDeclaration", + "scope": 58, + "src": "1059:26:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + }, + "typeName": { + "contractScope": null, + "id": 43, + "name": "Identity", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1100, + "src": "1059:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 46, + "name": "_davTokenContract", + "nodeType": "VariableDeclaration", + "scope": 58, + "src": "1087:26:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + }, + "typeName": { + "contractScope": null, + "id": 45, + "name": "DAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 936, + "src": "1087:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1058:56:0" + }, + "payable": false, + "returnParameters": { + "id": 48, + "nodeType": "ParameterList", + "parameters": [], + "src": "1122:0:0" + }, + "scope": 221, + "src": "1037:155:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 126, + "nodeType": "Block", + "src": "1585:751:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 72, + "name": "_buyerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 64, + "src": "1693:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 73, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1703:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 70, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1668:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "verifyOwnership", + "nodeType": "MemberAccess", + "referencedDeclaration": 1071, + "src": "1668:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view external returns (bool)" + } + }, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1668:46:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 69, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1653:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 76, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1653:67:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77, + "nodeType": "ExpressionStatement", + "src": "1653:67:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 81, + "name": "_buyerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 64, + "src": "1806:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 79, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1786:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1054, + "src": "1786:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1786:29:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 83, + "name": "_tokenAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "1819:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1786:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 78, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1771:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 85, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1771:66:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 86, + "nodeType": "ExpressionStatement", + "src": "1771:66:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 88, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "1904:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 90, + "indexExpression": { + "argumentTypes": null, + "id": 89, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1913:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1904:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 91, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "buyer", + "nodeType": "MemberAccess", + "referencedDeclaration": 9, + "src": "1904:26:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1934:3:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "1904:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 87, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1889:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1889:54:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 95, + "nodeType": "ExpressionStatement", + "src": "1889:54:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 99, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "2016:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2016:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 101, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2520, + "src": "2028:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicMission_$221", + "typeString": "contract BasicMission" + } + }, + { + "argumentTypes": null, + "id": 102, + "name": "_tokenAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "2034:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_BasicMission_$221", + "typeString": "contract BasicMission" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 96, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "1997:5:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 98, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 1219, + "src": "1997:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1997:50:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 104, + "nodeType": "ExpressionStatement", + "src": "1997:50:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 105, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2076:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 107, + "indexExpression": { + "argumentTypes": null, + "id": 106, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "2085:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2076:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 109, + "name": "_sellerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 62, + "src": "2123:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 110, + "name": "_buyerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 64, + "src": "2147:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 111, + "name": "_tokenAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "2176:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 112, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "2202:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2202:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 114, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "2228:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2228:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2255:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": null, + "id": 108, + "name": "Mission", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "2099:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Mission_$22_storage_ptr_$", + "typeString": "type(struct BasicMission.Mission storage pointer)" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "seller", + "buyer", + "tokenAmount", + "cost", + "balance", + "isSigned" + ], + "nodeType": "FunctionCall", + "src": "2099:168:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_memory", + "typeString": "struct BasicMission.Mission memory" + } + }, + "src": "2076:191:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 119, + "nodeType": "ExpressionStatement", + "src": "2076:191:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 121, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "2299:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 122, + "name": "_sellerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 62, + "src": "2311:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 123, + "name": "_buyerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 64, + "src": "2322:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120, + "name": "Create", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34, + "src": "2292:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2292:39:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 125, + "nodeType": "EmitStatement", + "src": "2287:44:0" + } + ] + }, + "documentation": "@notice Create a new mission\n@param _sellerId The DAV Identity of the person providing the service\n@param _buyerId The DAV Identity of the person ordering the service\n@param _tokenAmount The amount of tokens to be burned when mission is completed", + "id": 127, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 67, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 60, + "name": "_missionId", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1491:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 59, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1491:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 62, + "name": "_sellerId", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1511:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 61, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1511:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 64, + "name": "_buyerId", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1530:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 63, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1530:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 66, + "name": "_tokenAmount", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1548:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1548:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1490:79:0" + }, + "payable": true, + "returnParameters": { + "id": 68, + "nodeType": "ParameterList", + "parameters": [], + "src": "1585:0:0" + }, + "scope": 221, + "src": "1475:861:0", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 219, + "nodeType": "Block", + "src": "2468:737:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 135, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2577:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 137, + "indexExpression": { + "argumentTypes": null, + "id": 136, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2586:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2577:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 138, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "buyer", + "nodeType": "MemberAccess", + "referencedDeclaration": 9, + "src": "2577:26:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 139, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "2605:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2605:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 133, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "2552:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "verifyOwnership", + "nodeType": "MemberAccess", + "referencedDeclaration": 1071, + "src": "2552:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view external returns (bool)" + } + }, + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2552:64:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 132, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "2537:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2537:85:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 143, + "nodeType": "ExpressionStatement", + "src": "2537:85:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 145, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2648:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 147, + "indexExpression": { + "argumentTypes": null, + "id": 146, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2657:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2648:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 148, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isSigned", + "nodeType": "MemberAccess", + "referencedDeclaration": 17, + "src": "2648:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2681:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2648:38:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 144, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "2633:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2633:59:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 152, + "nodeType": "ExpressionStatement", + "src": "2633:59:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 154, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2714:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 156, + "indexExpression": { + "argumentTypes": null, + "id": 155, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2723:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2714:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 15, + "src": "2714:28:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 158, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2746:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 160, + "indexExpression": { + "argumentTypes": null, + "id": 159, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2755:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2746:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 161, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "cost", + "nodeType": "MemberAccess", + "referencedDeclaration": 13, + "src": "2746:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2714:57:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 153, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "2699:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2699:78:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 164, + "nodeType": "ExpressionStatement", + "src": "2699:78:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 167, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2520, + "src": "2811:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicMission_$221", + "typeString": "contract BasicMission" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BasicMission_$221", + "typeString": "contract BasicMission" + } + ], + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2803:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2803:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2803:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 170, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2828:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 172, + "indexExpression": { + "argumentTypes": null, + "id": 171, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2837:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2828:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "cost", + "nodeType": "MemberAccess", + "referencedDeclaration": 13, + "src": "2828:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2803:50:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 165, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "2788:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2788:71:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 176, + "nodeType": "ExpressionStatement", + "src": "2788:71:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 177, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2905:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 179, + "indexExpression": { + "argumentTypes": null, + "id": 178, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2914:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2905:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isSigned", + "nodeType": "MemberAccess", + "referencedDeclaration": 17, + "src": "2905:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2937:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2905:36:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 183, + "nodeType": "ExpressionStatement", + "src": "2905:36:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 184, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2947:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 186, + "indexExpression": { + "argumentTypes": null, + "id": 185, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2956:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2947:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 15, + "src": "2947:28:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2978:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2947:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 190, + "nodeType": "ExpressionStatement", + "src": "2947:32:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 194, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2996:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 196, + "indexExpression": { + "argumentTypes": null, + "id": 195, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3005:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2996:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "2996:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 191, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "2985:5:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "burn", + "nodeType": "MemberAccess", + "referencedDeclaration": 2098, + "src": "2985:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2985:44:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 199, + "nodeType": "ExpressionStatement", + "src": "2985:44:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 209, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "3131:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 211, + "indexExpression": { + "argumentTypes": null, + "id": 210, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3140:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3131:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 212, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "cost", + "nodeType": "MemberAccess", + "referencedDeclaration": 13, + "src": "3131:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 203, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "3093:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 205, + "indexExpression": { + "argumentTypes": null, + "id": 204, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3102:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3093:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "seller", + "nodeType": "MemberAccess", + "referencedDeclaration": 7, + "src": "3093:27:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 200, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "3066:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIdentityWallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 1099, + "src": "3066:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3066:55:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3066:64:0", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3066:91:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 214, + "nodeType": "ExpressionStatement", + "src": "3066:91:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 216, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3189:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 215, + "name": "Signed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "3182:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3182:18:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 218, + "nodeType": "EmitStatement", + "src": "3177:23:0" + } + ] + }, + "documentation": "@notice Fund a mission\n@param _missionId The id of the mission", + "id": 220, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "fulfilled", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 129, + "name": "_missionId", + "nodeType": "VariableDeclaration", + "scope": 220, + "src": "2441:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 128, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2441:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2440:20:0" + }, + "payable": false, + "returnParameters": { + "id": 131, + "nodeType": "ParameterList", + "parameters": [], + "src": "2468:0:0" + }, + "scope": 221, + "src": "2422:783:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 222, + "src": "411:2797:0" + } + ], + "src": "0:3209:0" + }, + "legacyAST": { + "absolutePath": "/contracts/contracts/BasicMission.sol", + "exportedSymbols": { + "BasicMission": [ + 221 + ] + }, + "id": 222, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "absolutePath": "/contracts/contracts/Identity.sol", + "file": "./Identity.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 222, + "sourceUnit": 1101, + "src": "25:24:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/contracts/contracts/DAVToken.sol", + "file": "./DAVToken.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 222, + "sourceUnit": 937, + "src": "50:24:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title BasicMission\n@dev The most basic contract for conducting Missions.\n * This contract represents the very basic interface of a mission contract.\nIn the real world, there is very little reason to use this and not one of the\ncontracts that extend it. Consider this an interface, more than an implementation.", + "fullyImplemented": true, + "id": 221, + "linearizedBaseContracts": [ + 221 + ], + "name": "BasicMission", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5, + "name": "nonce", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "438:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "438:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "canonicalName": "BasicMission.Mission", + "id": 22, + "members": [ + { + "constant": false, + "id": 7, + "name": "seller", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "485:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "485:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9, + "name": "buyer", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "505:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "505:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11, + "name": "tokenAmount", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "524:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "524:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 13, + "name": "cost", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "549:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "549:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "567:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "567:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17, + "name": "isSigned", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "588:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "588:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21, + "name": "resolvers", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "607:33:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint8_$_t_bool_$", + "typeString": "mapping(uint8 => bool)" + }, + "typeName": { + "id": 20, + "keyType": { + "id": 18, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "616:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Mapping", + "src": "607:23:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint8_$_t_bool_$", + "typeString": "mapping(uint8 => bool)" + }, + "valueType": { + "id": 19, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "625:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Mission", + "nodeType": "StructDefinition", + "scope": 221, + "src": "464:181:0", + "visibility": "public" + }, + { + "constant": false, + "id": 26, + "name": "missions", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "649:45:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission)" + }, + "typeName": { + "id": 25, + "keyType": { + "id": 23, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "658:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "649:28:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission)" + }, + "valueType": { + "contractScope": null, + "id": 24, + "name": "Mission", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22, + "src": "669:7:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage_ptr", + "typeString": "struct BasicMission.Mission" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 34, + "name": "Create", + "nodeType": "EventDefinition", + "parameters": { + "id": 33, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28, + "indexed": false, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 34, + "src": "717:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "717:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 30, + "indexed": false, + "name": "sellerId", + "nodeType": "VariableDeclaration", + "scope": 34, + "src": "733:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "733:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 32, + "indexed": false, + "name": "buyerId", + "nodeType": "VariableDeclaration", + "scope": 34, + "src": "755:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "755:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "711:63:0" + }, + "src": "699:76:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 38, + "name": "Signed", + "nodeType": "EventDefinition", + "parameters": { + "id": 37, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36, + "indexed": false, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 38, + "src": "797:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "797:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "791:20:0" + }, + "src": "779:33:0" + }, + { + "constant": false, + "id": 40, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "816:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + }, + "typeName": { + "contractScope": null, + "id": 39, + "name": "DAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 936, + "src": "816:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 42, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "842:25:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + }, + "typeName": { + "contractScope": null, + "id": 41, + "name": "Identity", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1100, + "src": "842:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "id": 57, + "nodeType": "Block", + "src": "1122:70:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 49, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1128:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 50, + "name": "_identityContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "1139:17:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "src": "1128:28:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 52, + "nodeType": "ExpressionStatement", + "src": "1128:28:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 53, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "1162:5:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 54, + "name": "_davTokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "1170:17:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "src": "1162:25:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 56, + "nodeType": "ExpressionStatement", + "src": "1162:25:0" + } + ] + }, + "documentation": "@dev Constructor\n * @param _identityContract address of the Identity contract\n@param _davTokenContract address of the DAVToken contract", + "id": 58, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "BasicMission", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 47, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44, + "name": "_identityContract", + "nodeType": "VariableDeclaration", + "scope": 58, + "src": "1059:26:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + }, + "typeName": { + "contractScope": null, + "id": 43, + "name": "Identity", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1100, + "src": "1059:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 46, + "name": "_davTokenContract", + "nodeType": "VariableDeclaration", + "scope": 58, + "src": "1087:26:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + }, + "typeName": { + "contractScope": null, + "id": 45, + "name": "DAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 936, + "src": "1087:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1058:56:0" + }, + "payable": false, + "returnParameters": { + "id": 48, + "nodeType": "ParameterList", + "parameters": [], + "src": "1122:0:0" + }, + "scope": 221, + "src": "1037:155:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 126, + "nodeType": "Block", + "src": "1585:751:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 72, + "name": "_buyerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 64, + "src": "1693:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 73, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1703:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 70, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1668:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "verifyOwnership", + "nodeType": "MemberAccess", + "referencedDeclaration": 1071, + "src": "1668:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view external returns (bool)" + } + }, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1668:46:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 69, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1653:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 76, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1653:67:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77, + "nodeType": "ExpressionStatement", + "src": "1653:67:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 81, + "name": "_buyerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 64, + "src": "1806:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 79, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1786:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1054, + "src": "1786:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1786:29:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 83, + "name": "_tokenAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "1819:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1786:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 78, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1771:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 85, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1771:66:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 86, + "nodeType": "ExpressionStatement", + "src": "1771:66:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 88, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "1904:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 90, + "indexExpression": { + "argumentTypes": null, + "id": 89, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1913:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1904:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 91, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "buyer", + "nodeType": "MemberAccess", + "referencedDeclaration": 9, + "src": "1904:26:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1934:3:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "1904:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 87, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1889:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1889:54:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 95, + "nodeType": "ExpressionStatement", + "src": "1889:54:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 99, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "2016:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2016:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 101, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2520, + "src": "2028:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicMission_$221", + "typeString": "contract BasicMission" + } + }, + { + "argumentTypes": null, + "id": 102, + "name": "_tokenAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "2034:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_BasicMission_$221", + "typeString": "contract BasicMission" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 96, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "1997:5:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 98, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 1219, + "src": "1997:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1997:50:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 104, + "nodeType": "ExpressionStatement", + "src": "1997:50:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 105, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2076:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 107, + "indexExpression": { + "argumentTypes": null, + "id": 106, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "2085:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2076:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 109, + "name": "_sellerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 62, + "src": "2123:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 110, + "name": "_buyerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 64, + "src": "2147:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 111, + "name": "_tokenAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "2176:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 112, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "2202:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2202:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 114, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "2228:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2228:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2255:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": null, + "id": 108, + "name": "Mission", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "2099:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Mission_$22_storage_ptr_$", + "typeString": "type(struct BasicMission.Mission storage pointer)" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "seller", + "buyer", + "tokenAmount", + "cost", + "balance", + "isSigned" + ], + "nodeType": "FunctionCall", + "src": "2099:168:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_memory", + "typeString": "struct BasicMission.Mission memory" + } + }, + "src": "2076:191:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 119, + "nodeType": "ExpressionStatement", + "src": "2076:191:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 121, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "2299:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 122, + "name": "_sellerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 62, + "src": "2311:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 123, + "name": "_buyerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 64, + "src": "2322:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120, + "name": "Create", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34, + "src": "2292:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2292:39:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 125, + "nodeType": "EmitStatement", + "src": "2287:44:0" + } + ] + }, + "documentation": "@notice Create a new mission\n@param _sellerId The DAV Identity of the person providing the service\n@param _buyerId The DAV Identity of the person ordering the service\n@param _tokenAmount The amount of tokens to be burned when mission is completed", + "id": 127, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 67, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 60, + "name": "_missionId", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1491:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 59, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1491:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 62, + "name": "_sellerId", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1511:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 61, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1511:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 64, + "name": "_buyerId", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1530:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 63, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1530:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 66, + "name": "_tokenAmount", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1548:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1548:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1490:79:0" + }, + "payable": true, + "returnParameters": { + "id": 68, + "nodeType": "ParameterList", + "parameters": [], + "src": "1585:0:0" + }, + "scope": 221, + "src": "1475:861:0", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 219, + "nodeType": "Block", + "src": "2468:737:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 135, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2577:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 137, + "indexExpression": { + "argumentTypes": null, + "id": 136, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2586:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2577:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 138, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "buyer", + "nodeType": "MemberAccess", + "referencedDeclaration": 9, + "src": "2577:26:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 139, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "2605:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2605:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 133, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "2552:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "verifyOwnership", + "nodeType": "MemberAccess", + "referencedDeclaration": 1071, + "src": "2552:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view external returns (bool)" + } + }, + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2552:64:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 132, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "2537:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2537:85:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 143, + "nodeType": "ExpressionStatement", + "src": "2537:85:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 145, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2648:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 147, + "indexExpression": { + "argumentTypes": null, + "id": 146, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2657:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2648:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 148, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isSigned", + "nodeType": "MemberAccess", + "referencedDeclaration": 17, + "src": "2648:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2681:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2648:38:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 144, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "2633:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2633:59:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 152, + "nodeType": "ExpressionStatement", + "src": "2633:59:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 154, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2714:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 156, + "indexExpression": { + "argumentTypes": null, + "id": 155, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2723:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2714:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 15, + "src": "2714:28:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 158, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2746:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 160, + "indexExpression": { + "argumentTypes": null, + "id": 159, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2755:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2746:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 161, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "cost", + "nodeType": "MemberAccess", + "referencedDeclaration": 13, + "src": "2746:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2714:57:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 153, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "2699:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2699:78:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 164, + "nodeType": "ExpressionStatement", + "src": "2699:78:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 167, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2520, + "src": "2811:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicMission_$221", + "typeString": "contract BasicMission" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BasicMission_$221", + "typeString": "contract BasicMission" + } + ], + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2803:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2803:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2803:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 170, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2828:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 172, + "indexExpression": { + "argumentTypes": null, + "id": 171, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2837:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2828:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "cost", + "nodeType": "MemberAccess", + "referencedDeclaration": 13, + "src": "2828:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2803:50:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 165, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "2788:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2788:71:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 176, + "nodeType": "ExpressionStatement", + "src": "2788:71:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 177, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2905:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 179, + "indexExpression": { + "argumentTypes": null, + "id": 178, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2914:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2905:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isSigned", + "nodeType": "MemberAccess", + "referencedDeclaration": 17, + "src": "2905:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2937:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2905:36:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 183, + "nodeType": "ExpressionStatement", + "src": "2905:36:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 184, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2947:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 186, + "indexExpression": { + "argumentTypes": null, + "id": 185, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2956:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2947:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 15, + "src": "2947:28:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2978:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2947:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 190, + "nodeType": "ExpressionStatement", + "src": "2947:32:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 194, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "2996:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 196, + "indexExpression": { + "argumentTypes": null, + "id": 195, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3005:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2996:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "2996:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 191, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "2985:5:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "burn", + "nodeType": "MemberAccess", + "referencedDeclaration": 2098, + "src": "2985:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2985:44:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 199, + "nodeType": "ExpressionStatement", + "src": "2985:44:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 209, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "3131:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 211, + "indexExpression": { + "argumentTypes": null, + "id": 210, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3140:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3131:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 212, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "cost", + "nodeType": "MemberAccess", + "referencedDeclaration": 13, + "src": "3131:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 203, + "name": "missions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "3093:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Mission_$22_storage_$", + "typeString": "mapping(bytes32 => struct BasicMission.Mission storage ref)" + } + }, + "id": 205, + "indexExpression": { + "argumentTypes": null, + "id": 204, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3102:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3093:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Mission_$22_storage", + "typeString": "struct BasicMission.Mission storage ref" + } + }, + "id": 206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "seller", + "nodeType": "MemberAccess", + "referencedDeclaration": 7, + "src": "3093:27:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 200, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "3066:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Identity_$1100", + "typeString": "contract Identity" + } + }, + "id": 202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIdentityWallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 1099, + "src": "3066:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3066:55:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3066:64:0", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3066:91:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 214, + "nodeType": "ExpressionStatement", + "src": "3066:91:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 216, + "name": "_missionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3189:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 215, + "name": "Signed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "3182:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3182:18:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 218, + "nodeType": "EmitStatement", + "src": "3177:23:0" + } + ] + }, + "documentation": "@notice Fund a mission\n@param _missionId The id of the mission", + "id": 220, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "fulfilled", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 129, + "name": "_missionId", + "nodeType": "VariableDeclaration", + "scope": 220, + "src": "2441:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 128, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2441:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2440:20:0" + }, + "payable": false, + "returnParameters": { + "id": 131, + "nodeType": "ParameterList", + "parameters": [], + "src": "2468:0:0" + }, + "scope": 221, + "src": "2422:783:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 222, + "src": "411:2797:0" + } + ], + "src": "0:3209:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": { + "1531316715167": { + "events": {}, + "links": {}, + "address": "0x9561c133dd8580860b6b7e504bc5aa500f0f06a7", + "transactionHash": "0x13defa03bab14fc1b0bc73c9aae6674b5454191ceb1a9c7bcc1d8847ef98ae28" + }, + "1531316983642": { + "events": {}, + "links": {}, + "address": "0x9561c133dd8580860b6b7e504bc5aa500f0f06a7", + "transactionHash": "0x13defa03bab14fc1b0bc73c9aae6674b5454191ceb1a9c7bcc1d8847ef98ae28" + }, + "1531318304602": { + "events": {}, + "links": {}, +<<<<<<< HEAD + "address": "0x9561c133dd8580860b6b7e504bc5aa500f0f06a7", + "transactionHash": "0x13defa03bab14fc1b0bc73c9aae6674b5454191ceb1a9c7bcc1d8847ef98ae28" +======= + "address": "0x36db70e49ec65c2b14032078fcd1687c9cd21e03", + "transactionHash": "0x7993c1c9d283d3c06c8afbc7183e4a188a321075a91afe350ab3a0bfb47df02c" + }, + "1527616997088": { + "events": {}, + "links": {}, + "address": "0x9561c133dd8580860b6b7e504bc5aa500f0f06a7", + "transactionHash": "0xd735a2a3b94a0daa26e8d4d37ee7356df1122a443c93633df17528185b28dbcd" +>>>>>>> FEAT-SDK-V-1-0 + } + }, + "schemaVersion": "2.0.1", + "updatedAt": "2018-07-11T14:11:47.751Z" +} \ No newline at end of file diff --git a/src/build/contracts/DAVToken.json b/src/build/contracts/DAVToken.json new file mode 100644 index 0000000..94f0d28 --- /dev/null +++ b/src/build/contracts/DAVToken.json @@ -0,0 +1,2829 @@ +{ + "contractName": "DAVToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "unpause", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_value", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "pauseCutoffTime", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "paused", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_initialSupply", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [], + "name": "Pause", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Unpause", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + } + ], + "name": "OwnershipRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "burner", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Burn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_pauseCutoffTime", + "type": "uint256" + } + ], + "name": "setPauseCutoffTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "pause", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040526000600360146101000a81548160ff0219169083151502179055506040805190810160405280600981526020017f44415620546f6b656e0000000000000000000000000000000000000000000000815250600490805190602001906200006c9291906200019c565b506040805190810160405280600381526020017f444156000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000ba9291906200019c565b506012600660006101000a81548160ff021916908360ff160217905550348015620000e457600080fd5b5060405160208062001f208339810180604052810190808051906020019092919050505033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806001819055506001546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550506200024b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001df57805160ff191683800117855562000210565b8280016001018555821562000210579182015b828111156200020f578251825591602001919060010190620001f2565b5b5090506200021f919062000223565b5090565b6200024891905b80821115620002445760008160009055506001016200022a565b5090565b90565b611cc5806200025b6000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610117578063095ea7b3146101a757806318160ddd1461020c57806323b872dd14610237578063313ce567146102bc5780633f4ba83a146102ed57806342966c681461030457806359aef196146103315780635c975abb1461035c578063661884631461038b57806370a08231146103f0578063715018a6146104475780638456cb591461045e5780638da5cb5b1461047557806395d89b41146104cc578063a9059cbb1461055c578063c84c5963146105c1578063d73dd623146105ee578063dd62ed3e14610653578063f2fde38b146106ca575b600080fd5b34801561012357600080fd5b5061012c61070d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016c578082015181840152602081019050610151565b50505050905090810190601f1680156101995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b357600080fd5b506101f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107ab565b604051808215151515815260200191505060405180910390f35b34801561021857600080fd5b506102216107db565b6040518082815260200191505060405180910390f35b34801561024357600080fd5b506102a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107e5565b604051808215151515815260200191505060405180910390f35b3480156102c857600080fd5b506102d1610817565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102f957600080fd5b5061030261082a565b005b34801561031057600080fd5b5061032f600480360381019080803590602001909291905050506108ea565b005b34801561033d57600080fd5b506103466108f7565b6040518082815260200191505060405180910390f35b34801561036857600080fd5b506103716108fd565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103d6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610910565b604051808215151515815260200191505060405180910390f35b3480156103fc57600080fd5b50610431600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610940565b6040518082815260200191505060405180910390f35b34801561045357600080fd5b5061045c610988565b005b34801561046a57600080fd5b50610473610a8d565b005b34801561048157600080fd5b5061048a610b6c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d857600080fd5b506104e1610b92565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610521578082015181840152602081019050610506565b50505050905090810190601f16801561054e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056857600080fd5b506105a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c30565b604051808215151515815260200191505060405180910390f35b3480156105cd57600080fd5b506105ec60048036038101908080359060200190929190505050610cb8565b005b3480156105fa57600080fd5b50610639600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d3e565b604051808215151515815260200191505060405180910390f35b34801561065f57600080fd5b506106b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d6e565b6040518082815260200191505060405180910390f35b3480156106d657600080fd5b5061070b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df5565b005b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107a35780601f10610778576101008083540402835291602001916107a3565b820191906000526020600020905b81548152906001019060200180831161078657829003601f168201915b505050505081565b6000600360149054906101000a900460ff161515156107c957600080fd5b6107d38383610e5d565b905092915050565b6000600154905090565b6000600360149054906101000a900460ff1615151561080357600080fd5b61080e848484610f4f565b90509392505050565b600660009054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561088657600080fd5b600360149054906101000a900460ff1615156108a157600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6108f43382611309565b50565b60075481565b600360149054906101000a900460ff1681565b6000600360149054906101000a900460ff1615151561092e57600080fd5b61093883836114bc565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109e457600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ae957600080fd5b600360149054906101000a900460ff16151515610b0557600080fd5b60006007541480610b1857504260075410155b1515610b2357600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c285780601f10610bfd57610100808354040283529160200191610c28565b820191906000526020600020905b815481529060010190602001808311610c0b57829003601f168201915b505050505081565b6000600360149054906101000a900460ff161580610c9b5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ca657600080fd5b610cb0838361174d565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1457600080fd5b428110151515610d2357600080fd5b6000600754141515610d3457600080fd5b8060078190555050565b6000600360149054906101000a900460ff16151515610d5c57600080fd5b610d66838361196c565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e5157600080fd5b610e5a81611b68565b50565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8c57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561106457600080fd5b6110b5826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6490919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611148826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061121982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561135657600080fd5b6113a7816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113fe81600154611c6490919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156115cd576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611661565b6115e08382611c6490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561178a57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156117d757600080fd5b611828826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118bb826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006119fd82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ba457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611c7257fe5b818303905092915050565b60008183019050828110151515611c9057fe5b809050929150505600a165627a7a72305820aa994911fc21b4e055d132c65db68e62f88a4984eae1165c2eae9041c2d2d7c00029", + "deployedBytecode": "0x608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610117578063095ea7b3146101a757806318160ddd1461020c57806323b872dd14610237578063313ce567146102bc5780633f4ba83a146102ed57806342966c681461030457806359aef196146103315780635c975abb1461035c578063661884631461038b57806370a08231146103f0578063715018a6146104475780638456cb591461045e5780638da5cb5b1461047557806395d89b41146104cc578063a9059cbb1461055c578063c84c5963146105c1578063d73dd623146105ee578063dd62ed3e14610653578063f2fde38b146106ca575b600080fd5b34801561012357600080fd5b5061012c61070d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016c578082015181840152602081019050610151565b50505050905090810190601f1680156101995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b357600080fd5b506101f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107ab565b604051808215151515815260200191505060405180910390f35b34801561021857600080fd5b506102216107db565b6040518082815260200191505060405180910390f35b34801561024357600080fd5b506102a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107e5565b604051808215151515815260200191505060405180910390f35b3480156102c857600080fd5b506102d1610817565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102f957600080fd5b5061030261082a565b005b34801561031057600080fd5b5061032f600480360381019080803590602001909291905050506108ea565b005b34801561033d57600080fd5b506103466108f7565b6040518082815260200191505060405180910390f35b34801561036857600080fd5b506103716108fd565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103d6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610910565b604051808215151515815260200191505060405180910390f35b3480156103fc57600080fd5b50610431600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610940565b6040518082815260200191505060405180910390f35b34801561045357600080fd5b5061045c610988565b005b34801561046a57600080fd5b50610473610a8d565b005b34801561048157600080fd5b5061048a610b6c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d857600080fd5b506104e1610b92565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610521578082015181840152602081019050610506565b50505050905090810190601f16801561054e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056857600080fd5b506105a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c30565b604051808215151515815260200191505060405180910390f35b3480156105cd57600080fd5b506105ec60048036038101908080359060200190929190505050610cb8565b005b3480156105fa57600080fd5b50610639600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d3e565b604051808215151515815260200191505060405180910390f35b34801561065f57600080fd5b506106b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d6e565b6040518082815260200191505060405180910390f35b3480156106d657600080fd5b5061070b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df5565b005b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107a35780601f10610778576101008083540402835291602001916107a3565b820191906000526020600020905b81548152906001019060200180831161078657829003601f168201915b505050505081565b6000600360149054906101000a900460ff161515156107c957600080fd5b6107d38383610e5d565b905092915050565b6000600154905090565b6000600360149054906101000a900460ff1615151561080357600080fd5b61080e848484610f4f565b90509392505050565b600660009054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561088657600080fd5b600360149054906101000a900460ff1615156108a157600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6108f43382611309565b50565b60075481565b600360149054906101000a900460ff1681565b6000600360149054906101000a900460ff1615151561092e57600080fd5b61093883836114bc565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109e457600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ae957600080fd5b600360149054906101000a900460ff16151515610b0557600080fd5b60006007541480610b1857504260075410155b1515610b2357600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c285780601f10610bfd57610100808354040283529160200191610c28565b820191906000526020600020905b815481529060010190602001808311610c0b57829003601f168201915b505050505081565b6000600360149054906101000a900460ff161580610c9b5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ca657600080fd5b610cb0838361174d565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1457600080fd5b428110151515610d2357600080fd5b6000600754141515610d3457600080fd5b8060078190555050565b6000600360149054906101000a900460ff16151515610d5c57600080fd5b610d66838361196c565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e5157600080fd5b610e5a81611b68565b50565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8c57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561106457600080fd5b6110b5826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6490919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611148826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061121982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561135657600080fd5b6113a7816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113fe81600154611c6490919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156115cd576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611661565b6115e08382611c6490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561178a57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156117d757600080fd5b611828826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118bb826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006119fd82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ba457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611c7257fe5b818303905092915050565b60008183019050828110151515611c9057fe5b809050929150505600a165627a7a72305820aa994911fc21b4e055d132c65db68e62f88a4984eae1165c2eae9041c2d2d7c00029", + "sourceMap": "219:1482:2:-;;;268:5:11;247:26;;;;;;;;;;;;;;;;;;;;311:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;347:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;403:2;379:26;;;;;;;;;;;;;;;;;;;;622:124;8:9:-1;5:2;;;30:1;27;20:12;5:2;622:124:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:10:13;567:5;;:18;;;;;;;;;;;;;;;;;;686:14:2;671:12;:29;;;;729:12;;706:8;:20;715:10;706:20;;;;;;;;;;;;;;;:35;;;;622:124;219:1482;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "219:1482:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;311:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;311:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;311:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;879:136:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;879:136:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:14;;;;;;;;;;;;;;;;;;;;;;;717:158:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;717:158:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:26:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;379:26:2;;;;;;;;;;;;;;;;;;;;;;;;;;;838:92:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;838:92:11;;;;;;353:73:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:15;;;;;;;;;;;;;;;;;;;;;;;;;;462:30:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;462:30:2;;;;;;;;;;;;;;;;;;;;;;;247:26:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;247:26:11;;;;;;;;;;;;;;;;;;;;;;;;;;;1192:179:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1192:179:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:111:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:111:13;;;;;;1399:299:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1399:299:2;;;;;;238:20:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:13;;;;;;;;;;;;;;;;;;;;;;;;;;;347:28:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;347:28:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;347:28:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;576:137:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;576:137:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;940:380:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;940:380:2;;;;;;;;;;;;;;;;;;;;;;;;;;1019:169:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1019:169:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2336:153:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2336:153:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1100:103:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1100:103:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;311:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;879:136:5:-;960:4;416:6:11;;;;;;;;;;;415:7;407:16;;;;;;;;979:31:5;993:8;1003:6;979:13;:31::i;:::-;972:38;;879:136;;;;:::o;371:83:14:-;415:7;437:12;;430:19;;371:83;:::o;717:158:5:-;813:4;416:6:11;;;;;;;;;;;415:7;407:16;;;;;;;;832:38:5;851:5;858:3;863:6;832:18;:38::i;:::-;825:45;;717:158;;;;;:::o;379:26:2:-;;;;;;;;;;;;;:::o;838:92:11:-;719:5:13;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;568:6:11;;;;;;;;;;;560:15;;;;;;;;900:5;891:6;;:14;;;;;;;;;;;;;;;;;;916:9;;;;;;;;;;838:92::o;353:73:15:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;462:30:2:-;;;;:::o;247:26:11:-;;;;;;;;;;;;;:::o;1192:179:5:-;1289:12;416:6:11;;;;;;;;;;;415:7;407:16;;;;;;;;1316:50:5;1339:8;1349:16;1316:22;:50::i;:::-;1309:57;;1192:179;;;;:::o;1131:99:14:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;827:111:13:-;719:5;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;903:5;;;;;;;;;;;884:25;;;;;;;;;;;;931:1;915:5;;:18;;;;;;;;;;;;;;;;;;827:111::o;1399:299:2:-;719:5:13;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;416:6:11;;;;;;;;;;;415:7;407:16;;;;;;;;1616:1:2;1597:15;;:20;:58;;;;1640:15;1621;;:34;;1597:58;1589:67;;;;;;;;1671:4;1662:6;;:13;;;;;;;;;;;;;;;;;;1686:7;;;;;;;;;;1399:299::o;238:20:13:-;;;;;;;;;;;;;:::o;347:28:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;576:137:5:-;662:4;530:6;;;;;;;;;;;529:7;:30;;;;554:5;;;;;;;;;;;540:19;;:10;:19;;;529:30;521:39;;;;;;;;681:27;696:3;701:6;681:14;:27::i;:::-;674:34;;576:137;;;;:::o;940:380:2:-;719:5:13;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1144:15:2;1124:16;:35;;1116:44;;;;;;;;1246:1;1227:15;;:20;1219:29;;;;;;;;1299:16;1281:15;:34;;;;940:380;:::o;1019:169:5:-;1111:12;416:6:11;;;;;;;;;;;415:7;407:16;;;;;;;;1138:45:5;1161:8;1171:11;1138:22;:45::i;:::-;1131:52;;1019:169;;;;:::o;2336:153:18:-;2435:7;2459;:15;2467:6;2459:15;;;;;;;;;;;;;;;:25;2475:8;2459:25;;;;;;;;;;;;;;;;2452:32;;2336:153;;;;:::o;1100:103:13:-;719:5;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1169:29;1188:9;1169:18;:29::i;:::-;1100:103;:::o;1829:188:18:-;1896:4;1940:6;1908:7;:19;1916:10;1908:19;;;;;;;;;;;;;;;:29;1928:8;1908:29;;;;;;;;;;;;;;;:38;;;;1978:8;1957:38;;1966:10;1957:38;;;1988:6;1957:38;;;;;;;;;;;;;;;;;;2008:4;2001:11;;1829:188;;;;:::o;736:470::-;842:4;879:1;864:17;;:3;:17;;;;856:26;;;;;;;;906:8;:15;915:5;906:15;;;;;;;;;;;;;;;;896:6;:25;;888:34;;;;;;;;946:7;:14;954:5;946:14;;;;;;;;;;;;;;;:26;961:10;946:26;;;;;;;;;;;;;;;;936:6;:36;;928:45;;;;;;;;998:27;1018:6;998:8;:15;1007:5;998:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;980:8;:15;989:5;980:15;;;;;;;;;;;;;;;:45;;;;1047:25;1065:6;1047:8;:13;1056:3;1047:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1031:8;:13;1040:3;1031:13;;;;;;;;;;;;;;;:41;;;;1107:38;1138:6;1107:7;:14;1115:5;1107:14;;;;;;;;;;;;;;;:26;1122:10;1107:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1078:7;:14;1086:5;1078:14;;;;;;;;;;;;;;;:26;1093:10;1078:26;;;;;;;;;;;;;;;:67;;;;1172:3;1156:28;;1165:5;1156:28;;;1177:6;1156:28;;;;;;;;;;;;;;;;;;1197:4;1190:11;;736:470;;;;;:::o;430:438:15:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o;3701:425:18:-;3804:4;3818:13;3834:7;:19;3842:10;3834:19;;;;;;;;;;;;;;;:29;3854:8;3834:29;;;;;;;;;;;;;;;;3818:45;;3892:8;3873:16;:27;3869:164;;;3942:1;3910:7;:19;3918:10;3910:19;;;;;;;;;;;;;;;:29;3930:8;3910:29;;;;;;;;;;;;;;;:33;;;;3869:164;;;3996:30;4009:16;3996:8;:12;;:30;;;;:::i;:::-;3964:7;:19;3972:10;3964:19;;;;;;;;;;;;;;;:29;3984:8;3964:29;;;;;;;;;;;;;;;:62;;;;3869:164;4064:8;4043:61;;4052:10;4043:61;;;4074:7;:19;4082:10;4074:19;;;;;;;;;;;;;;;:29;4094:8;4074:29;;;;;;;;;;;;;;;;4043:61;;;;;;;;;;;;;;;;;;4117:4;4110:11;;3701:425;;;;;:::o;608:321:14:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2946:293:18:-;3044:4;3098:46;3132:11;3098:7;:19;3106:10;3098:19;;;;;;;;;;;;;;;:29;3118:8;3098:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;3058:7;:19;3066:10;3058:19;;;;;;;;;;;;;;;:29;3078:8;3058:29;;;;;;;;;;;;;;;:87;;;;3177:8;3156:61;;3165:10;3156:61;;;3187:7;:19;3195:10;3187:19;;;;;;;;;;;;;;;:29;3207:8;3187:29;;;;;;;;;;;;;;;;3156:61;;;;;;;;;;;;;;;;;;3230:4;3223:11;;2946:293;;;;:::o;1338:171:13:-;1429:1;1408:23;;:9;:23;;;;1400:32;;;;;;;;1471:9;1443:38;;1464:5;;;;;;;;;;;1443:38;;;;;;;;;;;;1495:9;1487:5;;:17;;;;;;;;;;;;;;;;;;1338:171;:::o;1042:110:12:-;1100:7;1127:1;1122;:6;;1115:14;;;;;;1146:1;1142;:5;1135:12;;1042:110;;;;:::o;1214:123::-;1272:9;1297:1;1293;:5;1289:9;;1316:1;1311;:6;;1304:14;;;;;;1331:1;1324:8;;1214:123;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport './interfaces/IDAVToken.sol';\nimport 'openzeppelin-solidity/contracts/token/ERC20/BurnableToken.sol';\nimport './OwnedPausableToken.sol';\n\n\n/**\n * @title DAV Token\n * @dev ERC20 token\n */\ncontract DAVToken is IDAVToken, BurnableToken, OwnedPausableToken {\n\n // Token constants\n string public name = 'DAV Token';\n string public symbol = 'DAV';\n uint8 public decimals = 18;\n\n // Time after which pause can no longer be called\n uint256 public pauseCutoffTime;\n\n /**\n * @notice DAVToken constructor\n * Runs once on initial contract creation. Sets initial supply and balances.\n */\n constructor(uint256 _initialSupply) public {\n totalSupply_ = _initialSupply;\n balances[msg.sender] = totalSupply_;\n }\n\n /**\n * Set the cutoff time after which the token can no longer be paused\n * Cannot be in the past. Can only be set once.\n *\n * @param _pauseCutoffTime Time for pause cutoff.\n */\n function setPauseCutoffTime(uint256 _pauseCutoffTime) onlyOwner public {\n // Make sure time is not in the past\n // solium-disable-next-line security/no-block-members\n require(_pauseCutoffTime >= block.timestamp);\n // Make sure cutoff time hasn't been set already\n require(pauseCutoffTime == 0);\n // Set the cutoff time\n pauseCutoffTime = _pauseCutoffTime;\n }\n\n /**\n * @dev called by the owner to pause, triggers stopped state\n */\n function pause() onlyOwner whenNotPaused public {\n // Make sure pause cut off time isn't set or if it is, it's in the future\n // solium-disable-next-line security/no-block-members\n require(pauseCutoffTime == 0 || pauseCutoffTime >= block.timestamp);\n paused = true;\n emit Pause();\n }\n\n}\n", + "sourcePath": "/contracts/contracts/DAVToken.sol", + "ast": { + "absolutePath": "/contracts/contracts/DAVToken.sol", + "exportedSymbols": { + "DAVToken": [ + 936 + ] + }, + "id": 937, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 847, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "absolutePath": "/contracts/contracts/interfaces/IDAVToken.sol", + "file": "./interfaces/IDAVToken.sol", + "id": 848, + "nodeType": "ImportDirective", + "scope": 937, + "sourceUnit": 1381, + "src": "25:36:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/BurnableToken.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/BurnableToken.sol", + "id": 849, + "nodeType": "ImportDirective", + "scope": 937, + "sourceUnit": 2147, + "src": "62:71:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/contracts/contracts/OwnedPausableToken.sol", + "file": "./OwnedPausableToken.sol", + "id": 850, + "nodeType": "ImportDirective", + "scope": 937, + "sourceUnit": 1275, + "src": "134:34:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 851, + "name": "IDAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1380, + "src": "240:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDAVToken_$1380", + "typeString": "contract IDAVToken" + } + }, + "id": 852, + "nodeType": "InheritanceSpecifier", + "src": "240:9:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 853, + "name": "BurnableToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2146, + "src": "251:13:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BurnableToken_$2146", + "typeString": "contract BurnableToken" + } + }, + "id": 854, + "nodeType": "InheritanceSpecifier", + "src": "251:13:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 855, + "name": "OwnedPausableToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1274, + "src": "266:18:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnedPausableToken_$1274", + "typeString": "contract OwnedPausableToken" + } + }, + "id": 856, + "nodeType": "InheritanceSpecifier", + "src": "266:18:2" + } + ], + "contractDependencies": [ + 1274, + 1380, + 1799, + 1979, + 2075, + 2146, + 2189, + 2221, + 2468 + ], + "contractKind": "contract", + "documentation": "@title DAV Token\n@dev ERC20 token", + "fullyImplemented": true, + "id": 936, + "linearizedBaseContracts": [ + 936, + 1274, + 1799, + 1979, + 2468, + 2146, + 2075, + 1380, + 2189, + 2221 + ], + "name": "DAVToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 859, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 936, + "src": "311:32:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 857, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "311:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "44415620546f6b656e", + "id": 858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "332:11:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3aeff9fd921030cd609843bb7ccb973fa7b1cea0b5811568ec0b96e473afb9f", + "typeString": "literal_string \"DAV Token\"" + }, + "value": "DAV Token" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 862, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 936, + "src": "347:28:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 860, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "347:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "444156", + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "370:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f12e4a671ff413835d47c9a78729402d619e1c0248a8cd54a43dfd5008905692", + "typeString": "literal_string \"DAV\"" + }, + "value": "DAV" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 865, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 936, + "src": "379:26:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 863, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "379:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3138", + "id": 864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "403:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 867, + "name": "pauseCutoffTime", + "nodeType": "VariableDeclaration", + "scope": 936, + "src": "462:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 866, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "462:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 883, + "nodeType": "Block", + "src": "665:81:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 872, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1994, + "src": "671:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 873, + "name": "_initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 869, + "src": "686:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "671:29:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 875, + "nodeType": "ExpressionStatement", + "src": "671:29:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 876, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1992, + "src": "706:8:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 879, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 877, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "715:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "715:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "706:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 880, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1994, + "src": "729:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "706:35:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 882, + "nodeType": "ExpressionStatement", + "src": "706:35:2" + } + ] + }, + "documentation": "@notice DAVToken constructor\nRuns once on initial contract creation. Sets initial supply and balances.", + "id": 884, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 869, + "name": "_initialSupply", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "634:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 868, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "634:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "633:24:2" + }, + "payable": false, + "returnParameters": { + "id": 871, + "nodeType": "ParameterList", + "parameters": [], + "src": "665:0:2" + }, + "scope": 936, + "src": "622:124:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 908, + "nodeType": "Block", + "src": "1011:309:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 892, + "name": "_pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 886, + "src": "1124:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 893, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2473, + "src": "1144:5:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1144:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1124:35:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1116:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1116:44:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 897, + "nodeType": "ExpressionStatement", + "src": "1116:44:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 899, + "name": "pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 867 + ], + "referencedDeclaration": 867, + "src": "1227:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1246:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1227:20:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 898, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1219:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1219:29:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 903, + "nodeType": "ExpressionStatement", + "src": "1219:29:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 904, + "name": "pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 867 + ], + "referencedDeclaration": 867, + "src": "1281:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 905, + "name": "_pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 886, + "src": "1299:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1281:34:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 907, + "nodeType": "ExpressionStatement", + "src": "1281:34:2" + } + ] + }, + "documentation": "Set the cutoff time after which the token can no longer be paused\nCannot be in the past. Can only be set once.\n * @param _pauseCutoffTime Time for pause cutoff.", + "id": 909, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 889, + "modifierName": { + "argumentTypes": null, + "id": 888, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "994:9:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "994:9:2" + } + ], + "name": "setPauseCutoffTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 886, + "name": "_pauseCutoffTime", + "nodeType": "VariableDeclaration", + "scope": 909, + "src": "968:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "968:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "967:26:2" + }, + "payable": false, + "returnParameters": { + "id": 890, + "nodeType": "ParameterList", + "parameters": [], + "src": "1011:0:2" + }, + "scope": 936, + "src": "940:380:2", + "stateMutability": "nonpayable", + "superFunction": 1379, + "visibility": "public" + }, + { + "body": { + "id": 934, + "nodeType": "Block", + "src": "1447:251:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 917, + "name": "pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 867 + ], + "referencedDeclaration": 867, + "src": "1597:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1616:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1597:20:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 920, + "name": "pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 867 + ], + "referencedDeclaration": 867, + "src": "1621:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 921, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2473, + "src": "1640:5:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1640:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1621:34:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1597:58:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 916, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1589:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1589:67:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 926, + "nodeType": "ExpressionStatement", + "src": "1589:67:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 927, + "name": "paused", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1751 + ], + "referencedDeclaration": 1751, + "src": "1662:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1671:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1662:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 930, + "nodeType": "ExpressionStatement", + "src": "1662:13:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 931, + "name": "Pause", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1746, + "src": "1686:5:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1686:7:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 933, + "nodeType": "EmitStatement", + "src": "1681:12:2" + } + ] + }, + "documentation": "@dev called by the owner to pause, triggers stopped state", + "id": 935, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 912, + "modifierName": { + "argumentTypes": null, + "id": 911, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "1416:9:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1416:9:2" + }, + { + "arguments": null, + "id": 914, + "modifierName": { + "argumentTypes": null, + "id": 913, + "name": "whenNotPaused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "1426:13:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1426:13:2" + } + ], + "name": "pause", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 910, + "nodeType": "ParameterList", + "parameters": [], + "src": "1413:2:2" + }, + "payable": false, + "returnParameters": { + "id": 915, + "nodeType": "ParameterList", + "parameters": [], + "src": "1447:0:2" + }, + "scope": 936, + "src": "1399:299:2", + "stateMutability": "nonpayable", + "superFunction": 1783, + "visibility": "public" + } + ], + "scope": 937, + "src": "219:1482:2" + } + ], + "src": "0:1702:2" + }, + "legacyAST": { + "absolutePath": "/contracts/contracts/DAVToken.sol", + "exportedSymbols": { + "DAVToken": [ + 936 + ] + }, + "id": 937, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 847, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "absolutePath": "/contracts/contracts/interfaces/IDAVToken.sol", + "file": "./interfaces/IDAVToken.sol", + "id": 848, + "nodeType": "ImportDirective", + "scope": 937, + "sourceUnit": 1381, + "src": "25:36:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/BurnableToken.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/BurnableToken.sol", + "id": 849, + "nodeType": "ImportDirective", + "scope": 937, + "sourceUnit": 2147, + "src": "62:71:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/contracts/contracts/OwnedPausableToken.sol", + "file": "./OwnedPausableToken.sol", + "id": 850, + "nodeType": "ImportDirective", + "scope": 937, + "sourceUnit": 1275, + "src": "134:34:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 851, + "name": "IDAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1380, + "src": "240:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDAVToken_$1380", + "typeString": "contract IDAVToken" + } + }, + "id": 852, + "nodeType": "InheritanceSpecifier", + "src": "240:9:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 853, + "name": "BurnableToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2146, + "src": "251:13:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BurnableToken_$2146", + "typeString": "contract BurnableToken" + } + }, + "id": 854, + "nodeType": "InheritanceSpecifier", + "src": "251:13:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 855, + "name": "OwnedPausableToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1274, + "src": "266:18:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnedPausableToken_$1274", + "typeString": "contract OwnedPausableToken" + } + }, + "id": 856, + "nodeType": "InheritanceSpecifier", + "src": "266:18:2" + } + ], + "contractDependencies": [ + 1274, + 1380, + 1799, + 1979, + 2075, + 2146, + 2189, + 2221, + 2468 + ], + "contractKind": "contract", + "documentation": "@title DAV Token\n@dev ERC20 token", + "fullyImplemented": true, + "id": 936, + "linearizedBaseContracts": [ + 936, + 1274, + 1799, + 1979, + 2468, + 2146, + 2075, + 1380, + 2189, + 2221 + ], + "name": "DAVToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 859, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 936, + "src": "311:32:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 857, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "311:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "44415620546f6b656e", + "id": 858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "332:11:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3aeff9fd921030cd609843bb7ccb973fa7b1cea0b5811568ec0b96e473afb9f", + "typeString": "literal_string \"DAV Token\"" + }, + "value": "DAV Token" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 862, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 936, + "src": "347:28:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 860, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "347:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "444156", + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "370:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f12e4a671ff413835d47c9a78729402d619e1c0248a8cd54a43dfd5008905692", + "typeString": "literal_string \"DAV\"" + }, + "value": "DAV" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 865, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 936, + "src": "379:26:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 863, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "379:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3138", + "id": 864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "403:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 867, + "name": "pauseCutoffTime", + "nodeType": "VariableDeclaration", + "scope": 936, + "src": "462:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 866, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "462:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 883, + "nodeType": "Block", + "src": "665:81:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 872, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1994, + "src": "671:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 873, + "name": "_initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 869, + "src": "686:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "671:29:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 875, + "nodeType": "ExpressionStatement", + "src": "671:29:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 876, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1992, + "src": "706:8:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 879, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 877, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "715:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "715:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "706:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 880, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1994, + "src": "729:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "706:35:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 882, + "nodeType": "ExpressionStatement", + "src": "706:35:2" + } + ] + }, + "documentation": "@notice DAVToken constructor\nRuns once on initial contract creation. Sets initial supply and balances.", + "id": 884, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 869, + "name": "_initialSupply", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "634:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 868, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "634:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "633:24:2" + }, + "payable": false, + "returnParameters": { + "id": 871, + "nodeType": "ParameterList", + "parameters": [], + "src": "665:0:2" + }, + "scope": 936, + "src": "622:124:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 908, + "nodeType": "Block", + "src": "1011:309:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 892, + "name": "_pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 886, + "src": "1124:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 893, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2473, + "src": "1144:5:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1144:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1124:35:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1116:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1116:44:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 897, + "nodeType": "ExpressionStatement", + "src": "1116:44:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 899, + "name": "pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 867 + ], + "referencedDeclaration": 867, + "src": "1227:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1246:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1227:20:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 898, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1219:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1219:29:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 903, + "nodeType": "ExpressionStatement", + "src": "1219:29:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 904, + "name": "pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 867 + ], + "referencedDeclaration": 867, + "src": "1281:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 905, + "name": "_pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 886, + "src": "1299:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1281:34:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 907, + "nodeType": "ExpressionStatement", + "src": "1281:34:2" + } + ] + }, + "documentation": "Set the cutoff time after which the token can no longer be paused\nCannot be in the past. Can only be set once.\n * @param _pauseCutoffTime Time for pause cutoff.", + "id": 909, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 889, + "modifierName": { + "argumentTypes": null, + "id": 888, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "994:9:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "994:9:2" + } + ], + "name": "setPauseCutoffTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 886, + "name": "_pauseCutoffTime", + "nodeType": "VariableDeclaration", + "scope": 909, + "src": "968:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "968:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "967:26:2" + }, + "payable": false, + "returnParameters": { + "id": 890, + "nodeType": "ParameterList", + "parameters": [], + "src": "1011:0:2" + }, + "scope": 936, + "src": "940:380:2", + "stateMutability": "nonpayable", + "superFunction": 1379, + "visibility": "public" + }, + { + "body": { + "id": 934, + "nodeType": "Block", + "src": "1447:251:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 917, + "name": "pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 867 + ], + "referencedDeclaration": 867, + "src": "1597:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1616:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1597:20:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 920, + "name": "pauseCutoffTime", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 867 + ], + "referencedDeclaration": 867, + "src": "1621:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 921, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2473, + "src": "1640:5:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1640:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1621:34:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1597:58:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 916, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1589:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1589:67:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 926, + "nodeType": "ExpressionStatement", + "src": "1589:67:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 927, + "name": "paused", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1751 + ], + "referencedDeclaration": 1751, + "src": "1662:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1671:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1662:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 930, + "nodeType": "ExpressionStatement", + "src": "1662:13:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 931, + "name": "Pause", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1746, + "src": "1686:5:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1686:7:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 933, + "nodeType": "EmitStatement", + "src": "1681:12:2" + } + ] + }, + "documentation": "@dev called by the owner to pause, triggers stopped state", + "id": 935, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 912, + "modifierName": { + "argumentTypes": null, + "id": 911, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "1416:9:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1416:9:2" + }, + { + "arguments": null, + "id": 914, + "modifierName": { + "argumentTypes": null, + "id": 913, + "name": "whenNotPaused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "1426:13:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1426:13:2" + } + ], + "name": "pause", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 910, + "nodeType": "ParameterList", + "parameters": [], + "src": "1413:2:2" + }, + "payable": false, + "returnParameters": { + "id": 915, + "nodeType": "ParameterList", + "parameters": [], + "src": "1447:0:2" + }, + "scope": 936, + "src": "1399:299:2", + "stateMutability": "nonpayable", + "superFunction": 1783, + "visibility": "public" + } + ], + "scope": 937, + "src": "219:1482:2" + } + ], + "src": "0:1702:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": { + "1531316715167": { + "events": {}, + "links": {}, + "address": "0xcfeb869f69431e42cdb54a4f4f105c19c080a601", + "transactionHash": "0xf586c28c67f539829949bca99e9851c08e2d13f59b823b12ee53edbea81a3be4" + }, + "1531316983642": { + "events": {}, + "links": {}, + "address": "0xcfeb869f69431e42cdb54a4f4f105c19c080a601", + "transactionHash": "0xf586c28c67f539829949bca99e9851c08e2d13f59b823b12ee53edbea81a3be4" + }, + "1531318304602": { + "events": {}, + "links": {}, +<<<<<<< HEAD + "address": "0xcfeb869f69431e42cdb54a4f4f105c19c080a601", + "transactionHash": "0xf586c28c67f539829949bca99e9851c08e2d13f59b823b12ee53edbea81a3be4" +======= + "address": "0x19b9707c4cacc82ce1344ed42352b2b1db77e437", + "transactionHash": "0xf14f2606d692f85e70d9819d62cb55d461c5589b15e769692556554b95a93513" + }, + "1527616997088": { + "events": {}, + "links": {}, + "address": "0xcfeb869f69431e42cdb54a4f4f105c19c080a601", + "transactionHash": "0x448071d26286b02113cb01b16acd17ab6ee2eb1bcfc99255f323970245bb7ce7" +>>>>>>> FEAT-SDK-V-1-0 + } + }, + "schemaVersion": "2.0.1", + "updatedAt": "2018-07-11T14:11:47.745Z" +} \ No newline at end of file diff --git a/src/build/contracts/Identity.json b/src/build/contracts/Identity.json new file mode 100644 index 0000000..5be7104 --- /dev/null +++ b/src/build/contracts/Identity.json @@ -0,0 +1,4472 @@ +{ + "contractName": "Identity", + "abi": [ + { + "inputs": [ + { + "name": "_davTokenContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_id", + "type": "address" + }, + { + "name": "_v", + "type": "uint8" + }, + { + "name": "_r", + "type": "bytes32" + }, + { + "name": "_s", + "type": "bytes32" + } + ], + "name": "register", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "registerSimple", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_id", + "type": "address" + } + ], + "name": "getBalance", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_id", + "type": "address" + }, + { + "name": "_wallet", + "type": "address" + } + ], + "name": "verifyOwnership", + "outputs": [ + { + "name": "verified", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_id", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_id", + "type": "address" + } + ], + "name": "getIdentityWallet", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50604051602080610a168339810180604052810190808051906020019092919050505080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610992806100846000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063079573601461007d5780633c56e2ae146100f85780635db3f963146101645780637b5bd7411461017b578063c3c5a547146101fe578063f8b2cb4f14610259575b600080fd5b34801561008957600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102b0565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b50610162600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061034a565b005b34801561017057600080fd5b506101796105df565b005b34801561018757600080fd5b506101bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610715565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020a57600080fd5b5061023f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610780565b604051808215151515815260200191505060405180910390f35b34801561026557600080fd5b5061029a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610804565b6040518082815260200191505060405180910390f35b60008173ffffffffffffffffffffffffffffffffffffffff166000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b6000806000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156103d157600080fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000007f444156204964656e7469747920526567697374726174696f6e00000000000000604051808266ffffffffffffff191666ffffffffffffff191681526019019150506040518091039020604051808363ffffffff191663ffffffff19168152601c01826000191660001916815260200192505050604051809103902090508473ffffffffffffffffffffffffffffffffffffffff16600182868686604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156104fe573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff1614151561052a57600080fd5b6020604051908101604052803373ffffffffffffffffffffffffffffffffffffffff168152506000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561066557600080fd5b6020604051908101604052803373ffffffffffffffffffffffffffffffffffffffff168152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082316000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561092457600080fd5b505af1158015610938573d6000803e3d6000fd5b505050506040513d602081101561094e57600080fd5b810190808051906020019092919050505090509190505600a165627a7a72305820257abc86dbfc6122f54d68c928cce07973c0531bf6bc644830405ddb55216a140029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063079573601461007d5780633c56e2ae146100f85780635db3f963146101645780637b5bd7411461017b578063c3c5a547146101fe578063f8b2cb4f14610259575b600080fd5b34801561008957600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102b0565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b50610162600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061034a565b005b34801561017057600080fd5b506101796105df565b005b34801561018757600080fd5b506101bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610715565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020a57600080fd5b5061023f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610780565b604051808215151515815260200191505060405180910390f35b34801561026557600080fd5b5061029a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610804565b6040518082815260200191505060405180910390f35b60008173ffffffffffffffffffffffffffffffffffffffff166000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b6000806000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156103d157600080fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000007f444156204964656e7469747920526567697374726174696f6e00000000000000604051808266ffffffffffffff191666ffffffffffffff191681526019019150506040518091039020604051808363ffffffff191663ffffffff19168152601c01826000191660001916815260200192505050604051809103902090508473ffffffffffffffffffffffffffffffffffffffff16600182868686604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156104fe573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff1614151561052a57600080fd5b6020604051908101604052803373ffffffffffffffffffffffffffffffffffffffff168152506000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050505050505050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561066557600080fd5b6020604051908101604052803373ffffffffffffffffffffffffffffffffffffffff168152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082316000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561092457600080fd5b505af1158015610938573d6000803e3d6000fd5b505050506040513d602081101561094e57600080fd5b810190808051906020019092919050505090509190505600a165627a7a72305820257abc86dbfc6122f54d68c928cce07973c0531bf6bc644830405ddb55216a140029", + "sourceMap": "79:1927:3:-;;;558:89;8:9:-1;5:2;;;30:1;27;20:12;5:2;558:89:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;625:17;617:5;;:25;;;;;;;;;;;;;;;;;;558:89;79:1927;;;;;;", + "deployedSourceMap": "79:1927:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1570:142:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;651:518;;8:9:-1;5:2;;;30:1;27;20:12;5:2;651:518:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1173:261;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1173:261:3;;;;;;1894:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1894:110:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1756:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1756:109:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1438:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1438:128:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:142;1646:13;1700:7;1674:33;;:10;:15;1685:3;1674:15;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:33;;;1667:40;;1570:142;;;;:::o;651:518::-;859:20;815:3;789:10;:15;800:3;789:15;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:29;;;774:50;;;;;;;;892:25;929:24;919:35;;;;;;;;;;;;;;;;;;;;;;;;882:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:96;;1047:3;1008:42;;:35;1018:12;1032:2;1036;1040;1008:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1008:35:3;;;;;;;;:42;;;993:63;;;;;;;;1119:45;;;;;;;;;1147:10;1119:45;;;;;1101:10;:15;1112:3;1101:15;;;;;;;;;;;;;;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;651:518;;;;;:::o;1173:261::-;1305:3;1272:10;:22;1283:10;1272:22;;;;;;;;;;;;;;;:29;;;;;;;;;;;;:36;;;1257:57;;;;;;;;1384:45;;;;;;;;;1412:10;1384:45;;;;;1359:10;:22;1370:10;1359:22;;;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1173:261::o;1894:110::-;1955:7;1977:10;:15;1988:3;1977:15;;;;;;;;;;;;;;;:22;;;;;;;;;;;;1970:29;;1894:110;;;:::o;1756:109::-;1812:4;1857:3;1831:10;:15;1842:3;1831:15;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:29;;;;1824:36;;1756:109;;;:::o;1438:128::-;1492:15;1522:5;;;;;;;;;;;:15;;;1538:10;:15;1549:3;1538:15;;;;;;;;;;;;;;;:22;;;;;;;;;;;;1522:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1522:39:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1522:39:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1522:39:3;;;;;;;;;;;;;;;;1515:46;;1438:128;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport './DAVToken.sol';\n\n\n/**\n * @title Identity\n */\ncontract Identity {\n\n struct DAVIdentity {\n address wallet;\n }\n\n mapping (address => DAVIdentity) private identities;\n\n DAVToken private token;\n\n // Prefix to added to messages signed by web3\n bytes28 private constant ETH_SIGNED_MESSAGE_PREFIX = '\\x19Ethereum Signed Message:\\n32';\n bytes25 private constant DAV_REGISTRATION_REQUEST = 'DAV Identity Registration';\n\n /**\n * @dev Constructor\n *\n * @param _davTokenContract address of the DAVToken contract\n */\n function Identity(DAVToken _davTokenContract) public {\n token = _davTokenContract;\n }\n\n function register(address _id, uint8 _v, bytes32 _r, bytes32 _s) public {\n // Make sure id isn't registered already\n require(\n identities[_id].wallet == 0x0\n );\n // Generate message hash\n bytes32 prefixedHash = keccak256(ETH_SIGNED_MESSAGE_PREFIX, keccak256(DAV_REGISTRATION_REQUEST));\n // Verify message signature\n require(\n ecrecover(prefixedHash, _v, _r, _s) == _id\n );\n\n // Register in identities mapping\n identities[_id] = DAVIdentity({\n wallet: msg.sender\n });\n }\n\n function registerSimple() public {\n // Make sure id isn't registered already\n require(\n identities[msg.sender].wallet == 0x0\n );\n\n // Register in identities mapping\n identities[msg.sender] = DAVIdentity({\n wallet: msg.sender\n });\n }\n\n function getBalance(address _id) public view returns (uint256 balance) {\n return token.balanceOf(identities[_id].wallet);\n }\n\n function verifyOwnership(address _id, address _wallet) public view returns (bool verified) {\n return identities[_id].wallet == _wallet;\n }\n\n // Check identity registration status\n function isRegistered(address _id) public view returns (bool) {\n return identities[_id].wallet != 0x0;\n }\n\n // Get identity wallet\n function getIdentityWallet(address _id) public view returns (address) {\n return identities[_id].wallet;\n }\n}\n", + "sourcePath": "/contracts/contracts/Identity.sol", + "ast": { + "absolutePath": "/contracts/contracts/Identity.sol", + "exportedSymbols": { + "Identity": [ + 1100 + ] + }, + "id": 1101, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 938, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "absolutePath": "/contracts/contracts/DAVToken.sol", + "file": "./DAVToken.sol", + "id": 939, + "nodeType": "ImportDirective", + "scope": 1101, + "sourceUnit": 937, + "src": "25:24:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Identity", + "fullyImplemented": true, + "id": 1100, + "linearizedBaseContracts": [ + 1100 + ], + "name": "Identity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Identity.DAVIdentity", + "id": 942, + "members": [ + { + "constant": false, + "id": 941, + "name": "wallet", + "nodeType": "VariableDeclaration", + "scope": 942, + "src": "127:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "127:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "DAVIdentity", + "nodeType": "StructDefinition", + "scope": 1100, + "src": "102:44:3", + "visibility": "public" + }, + { + "constant": false, + "id": 946, + "name": "identities", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "150:51:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity)" + }, + "typeName": { + "id": 945, + "keyType": { + "id": 943, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "159:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "150:32:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity)" + }, + "valueType": { + "contractScope": null, + "id": 944, + "name": "DAVIdentity", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 942, + "src": "170:11:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage_ptr", + "typeString": "struct Identity.DAVIdentity" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 948, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "206:22:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + }, + "typeName": { + "contractScope": null, + "id": 947, + "name": "DAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 936, + "src": "206:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": true, + "id": 951, + "name": "ETH_SIGNED_MESSAGE_PREFIX", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "281:87:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + }, + "typeName": { + "id": 949, + "name": "bytes28", + "nodeType": "ElementaryTypeName", + "src": "281:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "334:34:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 954, + "name": "DAV_REGISTRATION_REQUEST", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "372:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + }, + "typeName": { + "id": 952, + "name": "bytes25", + "nodeType": "ElementaryTypeName", + "src": "372:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "444156204964656e7469747920526567697374726174696f6e", + "id": 953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "424:27:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3d75604157f80934d3965cbdf5676395ddaf5f92b8d7c90caf745f93d35d2066", + "typeString": "literal_string \"DAV Identity Registration\"" + }, + "value": "DAV Identity Registration" + }, + "visibility": "private" + }, + { + "body": { + "id": 963, + "nodeType": "Block", + "src": "611:36:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 959, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "617:5:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 960, + "name": "_davTokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 956, + "src": "625:17:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "src": "617:25:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 962, + "nodeType": "ExpressionStatement", + "src": "617:25:3" + } + ] + }, + "documentation": "@dev Constructor\n * @param _davTokenContract address of the DAVToken contract", + "id": 964, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Identity", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 956, + "name": "_davTokenContract", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "576:26:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + }, + "typeName": { + "contractScope": null, + "id": 955, + "name": "DAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 936, + "src": "576:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "575:28:3" + }, + "payable": false, + "returnParameters": { + "id": 958, + "nodeType": "ParameterList", + "parameters": [], + "src": "611:0:3" + }, + "scope": 1100, + "src": "558:89:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1013, + "nodeType": "Block", + "src": "723:446:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 976, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "789:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 978, + "indexExpression": { + "argumentTypes": null, + "id": 977, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "800:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "789:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 979, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "789:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "815:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "789:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 975, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "774:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "774:50:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 983, + "nodeType": "ExpressionStatement", + "src": "774:50:3" + }, + { + "assignments": [ + 985 + ], + "declarations": [ + { + "constant": false, + "id": 985, + "name": "prefixedHash", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "859:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 984, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "859:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 992, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 987, + "name": "ETH_SIGNED_MESSAGE_PREFIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "892:25:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 989, + "name": "DAV_REGISTRATION_REQUEST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 954, + "src": "929:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + ], + "id": 988, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2477, + "src": "919:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "919:35:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 986, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2477, + "src": "882:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "882:73:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "859:96:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 995, + "name": "prefixedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "1018:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 996, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 968, + "src": "1032:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 997, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 970, + "src": "1036:2:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 998, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "1040:2:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 994, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "1008:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1008:35:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1000, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "1047:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1008:42:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 993, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "993:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "993:63:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1003, + "nodeType": "ExpressionStatement", + "src": "993:63:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 1011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1004, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1101:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1006, + "indexExpression": { + "argumentTypes": null, + "id": 1005, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "1112:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1101:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1008, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1147:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1147:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 1007, + "name": "DAVIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 942, + "src": "1119:11:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DAVIdentity_$942_storage_ptr_$", + "typeString": "type(struct Identity.DAVIdentity storage pointer)" + } + }, + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "wallet" + ], + "nodeType": "FunctionCall", + "src": "1119:45:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_memory", + "typeString": "struct Identity.DAVIdentity memory" + } + }, + "src": "1101:63:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1012, + "nodeType": "ExpressionStatement", + "src": "1101:63:3" + } + ] + }, + "documentation": null, + "id": 1014, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 966, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "669:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 965, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "669:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 968, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "682:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 967, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "682:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 970, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "692:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 969, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "692:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 972, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "704:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "704:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "668:47:3" + }, + "payable": false, + "returnParameters": { + "id": 974, + "nodeType": "ParameterList", + "parameters": [], + "src": "723:0:3" + }, + "scope": 1100, + "src": "651:518:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1037, + "nodeType": "Block", + "src": "1206:228:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1018, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1272:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1021, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1283:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1283:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1272:22:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1022, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1272:29:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1305:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "1272:36:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1017, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1257:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1257:57:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1026, + "nodeType": "ExpressionStatement", + "src": "1257:57:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 1035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1027, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1359:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1030, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1028, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1370:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1370:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1359:22:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1032, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1412:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1412:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 1031, + "name": "DAVIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 942, + "src": "1384:11:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DAVIdentity_$942_storage_ptr_$", + "typeString": "type(struct Identity.DAVIdentity storage pointer)" + } + }, + "id": 1034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "wallet" + ], + "nodeType": "FunctionCall", + "src": "1384:45:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_memory", + "typeString": "struct Identity.DAVIdentity memory" + } + }, + "src": "1359:70:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1036, + "nodeType": "ExpressionStatement", + "src": "1359:70:3" + } + ] + }, + "documentation": null, + "id": 1038, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerSimple", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1015, + "nodeType": "ParameterList", + "parameters": [], + "src": "1196:2:3" + }, + "payable": false, + "returnParameters": { + "id": 1016, + "nodeType": "ParameterList", + "parameters": [], + "src": "1206:0:3" + }, + "scope": 1100, + "src": "1173:261:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1053, + "nodeType": "Block", + "src": "1509:57:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1047, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1538:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1049, + "indexExpression": { + "argumentTypes": null, + "id": 1048, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "1549:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1538:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1050, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1538:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1045, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "1522:5:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 1046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 2074, + "src": "1522:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1522:39:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1044, + "id": 1052, + "nodeType": "Return", + "src": "1515:46:3" + } + ] + }, + "documentation": null, + "id": 1054, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1040, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1054, + "src": "1458:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1458:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1457:13:3" + }, + "payable": false, + "returnParameters": { + "id": 1044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1043, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 1054, + "src": "1492:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1042, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1492:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1491:17:3" + }, + "scope": 1100, + "src": "1438:128:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1070, + "nodeType": "Block", + "src": "1661:51:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1063, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1674:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1065, + "indexExpression": { + "argumentTypes": null, + "id": 1064, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1056, + "src": "1685:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1674:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1674:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1067, + "name": "_wallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1058, + "src": "1700:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1674:33:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1062, + "id": 1069, + "nodeType": "Return", + "src": "1667:40:3" + } + ] + }, + "documentation": null, + "id": 1071, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "verifyOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1056, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1595:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1055, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1595:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1058, + "name": "_wallet", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1608:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1057, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1608:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1594:30:3" + }, + "payable": false, + "returnParameters": { + "id": 1062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1061, + "name": "verified", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1646:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1060, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1646:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1645:15:3" + }, + "scope": 1100, + "src": "1570:142:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1085, + "nodeType": "Block", + "src": "1818:47:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1078, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1831:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1080, + "indexExpression": { + "argumentTypes": null, + "id": 1079, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1073, + "src": "1842:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1831:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1831:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 1082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1857:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "1831:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1077, + "id": 1084, + "nodeType": "Return", + "src": "1824:36:3" + } + ] + }, + "documentation": null, + "id": 1086, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1073, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1086, + "src": "1778:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1778:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1777:13:3" + }, + "payable": false, + "returnParameters": { + "id": 1077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1076, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1086, + "src": "1812:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1075, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1812:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1811:6:3" + }, + "scope": 1100, + "src": "1756:109:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1098, + "nodeType": "Block", + "src": "1964:40:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1093, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1977:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1095, + "indexExpression": { + "argumentTypes": null, + "id": 1094, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1088, + "src": "1988:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1977:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1977:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1092, + "id": 1097, + "nodeType": "Return", + "src": "1970:29:3" + } + ] + }, + "documentation": null, + "id": 1099, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getIdentityWallet", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1088, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1099, + "src": "1921:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1087, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1921:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1920:13:3" + }, + "payable": false, + "returnParameters": { + "id": 1092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1091, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1099, + "src": "1955:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1955:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1954:9:3" + }, + "scope": 1100, + "src": "1894:110:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1101, + "src": "79:1927:3" + } + ], + "src": "0:2007:3" + }, + "legacyAST": { + "absolutePath": "/contracts/contracts/Identity.sol", + "exportedSymbols": { + "Identity": [ + 1100 + ] + }, + "id": 1101, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 938, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "absolutePath": "/contracts/contracts/DAVToken.sol", + "file": "./DAVToken.sol", + "id": 939, + "nodeType": "ImportDirective", + "scope": 1101, + "sourceUnit": 937, + "src": "25:24:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Identity", + "fullyImplemented": true, + "id": 1100, + "linearizedBaseContracts": [ + 1100 + ], + "name": "Identity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Identity.DAVIdentity", + "id": 942, + "members": [ + { + "constant": false, + "id": 941, + "name": "wallet", + "nodeType": "VariableDeclaration", + "scope": 942, + "src": "127:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "127:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "DAVIdentity", + "nodeType": "StructDefinition", + "scope": 1100, + "src": "102:44:3", + "visibility": "public" + }, + { + "constant": false, + "id": 946, + "name": "identities", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "150:51:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity)" + }, + "typeName": { + "id": 945, + "keyType": { + "id": 943, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "159:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "150:32:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity)" + }, + "valueType": { + "contractScope": null, + "id": 944, + "name": "DAVIdentity", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 942, + "src": "170:11:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage_ptr", + "typeString": "struct Identity.DAVIdentity" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 948, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "206:22:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + }, + "typeName": { + "contractScope": null, + "id": 947, + "name": "DAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 936, + "src": "206:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": true, + "id": 951, + "name": "ETH_SIGNED_MESSAGE_PREFIX", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "281:87:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + }, + "typeName": { + "id": 949, + "name": "bytes28", + "nodeType": "ElementaryTypeName", + "src": "281:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "334:34:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 954, + "name": "DAV_REGISTRATION_REQUEST", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "372:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + }, + "typeName": { + "id": 952, + "name": "bytes25", + "nodeType": "ElementaryTypeName", + "src": "372:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "444156204964656e7469747920526567697374726174696f6e", + "id": 953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "424:27:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3d75604157f80934d3965cbdf5676395ddaf5f92b8d7c90caf745f93d35d2066", + "typeString": "literal_string \"DAV Identity Registration\"" + }, + "value": "DAV Identity Registration" + }, + "visibility": "private" + }, + { + "body": { + "id": 963, + "nodeType": "Block", + "src": "611:36:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 959, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "617:5:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 960, + "name": "_davTokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 956, + "src": "625:17:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "src": "617:25:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 962, + "nodeType": "ExpressionStatement", + "src": "617:25:3" + } + ] + }, + "documentation": "@dev Constructor\n * @param _davTokenContract address of the DAVToken contract", + "id": 964, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Identity", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 956, + "name": "_davTokenContract", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "576:26:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + }, + "typeName": { + "contractScope": null, + "id": 955, + "name": "DAVToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 936, + "src": "576:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "575:28:3" + }, + "payable": false, + "returnParameters": { + "id": 958, + "nodeType": "ParameterList", + "parameters": [], + "src": "611:0:3" + }, + "scope": 1100, + "src": "558:89:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1013, + "nodeType": "Block", + "src": "723:446:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 976, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "789:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 978, + "indexExpression": { + "argumentTypes": null, + "id": 977, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "800:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "789:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 979, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "789:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "815:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "789:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 975, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "774:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "774:50:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 983, + "nodeType": "ExpressionStatement", + "src": "774:50:3" + }, + { + "assignments": [ + 985 + ], + "declarations": [ + { + "constant": false, + "id": 985, + "name": "prefixedHash", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "859:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 984, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "859:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 992, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 987, + "name": "ETH_SIGNED_MESSAGE_PREFIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "892:25:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 989, + "name": "DAV_REGISTRATION_REQUEST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 954, + "src": "929:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + ], + "id": 988, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2477, + "src": "919:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "919:35:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 986, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2477, + "src": "882:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "882:73:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "859:96:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 995, + "name": "prefixedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "1018:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 996, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 968, + "src": "1032:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 997, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 970, + "src": "1036:2:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 998, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "1040:2:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 994, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "1008:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1008:35:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1000, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "1047:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1008:42:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 993, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "993:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "993:63:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1003, + "nodeType": "ExpressionStatement", + "src": "993:63:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 1011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1004, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1101:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1006, + "indexExpression": { + "argumentTypes": null, + "id": 1005, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "1112:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1101:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1008, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1147:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1147:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 1007, + "name": "DAVIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 942, + "src": "1119:11:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DAVIdentity_$942_storage_ptr_$", + "typeString": "type(struct Identity.DAVIdentity storage pointer)" + } + }, + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "wallet" + ], + "nodeType": "FunctionCall", + "src": "1119:45:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_memory", + "typeString": "struct Identity.DAVIdentity memory" + } + }, + "src": "1101:63:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1012, + "nodeType": "ExpressionStatement", + "src": "1101:63:3" + } + ] + }, + "documentation": null, + "id": 1014, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 966, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "669:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 965, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "669:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 968, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "682:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 967, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "682:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 970, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "692:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 969, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "692:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 972, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "704:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "704:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "668:47:3" + }, + "payable": false, + "returnParameters": { + "id": 974, + "nodeType": "ParameterList", + "parameters": [], + "src": "723:0:3" + }, + "scope": 1100, + "src": "651:518:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1037, + "nodeType": "Block", + "src": "1206:228:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1018, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1272:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1021, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1283:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1283:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1272:22:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1022, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1272:29:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1305:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "1272:36:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1017, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2486, + 2487 + ], + "referencedDeclaration": 2486, + "src": "1257:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1257:57:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1026, + "nodeType": "ExpressionStatement", + "src": "1257:57:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 1035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1027, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1359:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1030, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1028, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1370:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1370:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1359:22:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1032, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1412:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1412:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 1031, + "name": "DAVIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 942, + "src": "1384:11:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DAVIdentity_$942_storage_ptr_$", + "typeString": "type(struct Identity.DAVIdentity storage pointer)" + } + }, + "id": 1034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "wallet" + ], + "nodeType": "FunctionCall", + "src": "1384:45:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_memory", + "typeString": "struct Identity.DAVIdentity memory" + } + }, + "src": "1359:70:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1036, + "nodeType": "ExpressionStatement", + "src": "1359:70:3" + } + ] + }, + "documentation": null, + "id": 1038, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerSimple", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1015, + "nodeType": "ParameterList", + "parameters": [], + "src": "1196:2:3" + }, + "payable": false, + "returnParameters": { + "id": 1016, + "nodeType": "ParameterList", + "parameters": [], + "src": "1206:0:3" + }, + "scope": 1100, + "src": "1173:261:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1053, + "nodeType": "Block", + "src": "1509:57:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1047, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1538:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1049, + "indexExpression": { + "argumentTypes": null, + "id": 1048, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "1549:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1538:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1050, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1538:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1045, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "1522:5:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DAVToken_$936", + "typeString": "contract DAVToken" + } + }, + "id": 1046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 2074, + "src": "1522:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1522:39:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1044, + "id": 1052, + "nodeType": "Return", + "src": "1515:46:3" + } + ] + }, + "documentation": null, + "id": 1054, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1040, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1054, + "src": "1458:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1458:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1457:13:3" + }, + "payable": false, + "returnParameters": { + "id": 1044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1043, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 1054, + "src": "1492:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1042, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1492:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1491:17:3" + }, + "scope": 1100, + "src": "1438:128:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1070, + "nodeType": "Block", + "src": "1661:51:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1063, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1674:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1065, + "indexExpression": { + "argumentTypes": null, + "id": 1064, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1056, + "src": "1685:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1674:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1674:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1067, + "name": "_wallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1058, + "src": "1700:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1674:33:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1062, + "id": 1069, + "nodeType": "Return", + "src": "1667:40:3" + } + ] + }, + "documentation": null, + "id": 1071, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "verifyOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1056, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1595:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1055, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1595:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1058, + "name": "_wallet", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1608:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1057, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1608:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1594:30:3" + }, + "payable": false, + "returnParameters": { + "id": 1062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1061, + "name": "verified", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1646:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1060, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1646:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1645:15:3" + }, + "scope": 1100, + "src": "1570:142:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1085, + "nodeType": "Block", + "src": "1818:47:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1078, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1831:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1080, + "indexExpression": { + "argumentTypes": null, + "id": 1079, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1073, + "src": "1842:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1831:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1831:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 1082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1857:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "1831:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1077, + "id": 1084, + "nodeType": "Return", + "src": "1824:36:3" + } + ] + }, + "documentation": null, + "id": 1086, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1073, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1086, + "src": "1778:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1778:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1777:13:3" + }, + "payable": false, + "returnParameters": { + "id": 1077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1076, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1086, + "src": "1812:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1075, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1812:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1811:6:3" + }, + "scope": 1100, + "src": "1756:109:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1098, + "nodeType": "Block", + "src": "1964:40:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1093, + "name": "identities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, + "src": "1977:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAVIdentity_$942_storage_$", + "typeString": "mapping(address => struct Identity.DAVIdentity storage ref)" + } + }, + "id": 1095, + "indexExpression": { + "argumentTypes": null, + "id": 1094, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1088, + "src": "1988:3:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1977:15:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAVIdentity_$942_storage", + "typeString": "struct Identity.DAVIdentity storage ref" + } + }, + "id": 1096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "wallet", + "nodeType": "MemberAccess", + "referencedDeclaration": 941, + "src": "1977:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1092, + "id": 1097, + "nodeType": "Return", + "src": "1970:29:3" + } + ] + }, + "documentation": null, + "id": 1099, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getIdentityWallet", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1088, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1099, + "src": "1921:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1087, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1921:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1920:13:3" + }, + "payable": false, + "returnParameters": { + "id": 1092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1091, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1099, + "src": "1955:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1955:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1954:9:3" + }, + "scope": 1100, + "src": "1894:110:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1101, + "src": "79:1927:3" + } + ], + "src": "0:2007:3" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": { + "1531316715167": { + "events": {}, + "links": {}, + "address": "0xc89ce4735882c9f0f0fe26686c53074e09b0d550", + "transactionHash": "0xe0abcebbb5dd08278a628448302c721e6c1af43d88b068f4e26fffae586c9ec8" + }, + "1531316983642": { + "events": {}, + "links": {}, +<<<<<<< HEAD + "address": "0xc89ce4735882c9f0f0fe26686c53074e09b0d550", + "transactionHash": "0xe0abcebbb5dd08278a628448302c721e6c1af43d88b068f4e26fffae586c9ec8" + }, + "1531318304602": { + "events": {}, + "links": {}, + "address": "0xc89ce4735882c9f0f0fe26686c53074e09b0d550", + "transactionHash": "0xe0abcebbb5dd08278a628448302c721e6c1af43d88b068f4e26fffae586c9ec8" +======= + "address": "0xe1d26f05edac447b752a4d6ba6d24fefebf79f4f", + "transactionHash": "0xb0746b49c3fcd1afb5f6602cfc03590bfba0aac0ffaee1f70303957984036147" + }, + "1527616997088": { + "events": {}, + "links": {}, + "address": "0xc89ce4735882c9f0f0fe26686c53074e09b0d550", + "transactionHash": "0x64345c5972ca6d40230a65aa9ff21d73a10564e96045001698c70f1656a5eee7" +>>>>>>> FEAT-SDK-V-1-0 + } + }, + "schemaVersion": "2.0.1", + "updatedAt": "2018-07-11T14:11:47.748Z" +} \ No newline at end of file diff --git a/src/common.css b/src/common.css index f4bd513..235e168 100644 --- a/src/common.css +++ b/src/common.css @@ -6,7 +6,7 @@ body { color: #383061; - font-family: 'Roboto', sans-serif; + font-family: 'Montserrat', 'Roboto', sans-serif; font-weight: 300; font-size: 15px; } @@ -40,7 +40,7 @@ h1 { /* Modal */ .modal-container { width: 100vw; - height: 100%; + height: 100vh; display: flex; flex-direction: column; justify-content: center; @@ -101,7 +101,7 @@ h1 { .alert-button-confirm { border-bottom-right-radius: 5px; - color: #2BCA81; + color: #FF6A46; } .big-button { @@ -109,10 +109,10 @@ h1 { text-decoration: none; text-transform: uppercase; color: #fff; - font-weight: 700; - font-size: 17px; - background-color: #2BCA81; - padding: 20px 20px; + font-weight: normal; + font-size: 15px; + background-color: #FF6A46; + padding: 20px 60px; } .disabled-button { @@ -122,9 +122,9 @@ h1 { color: #fff; font-weight: 700; font-size: 17px; - background-color: #d8ffed; + background-color: #FFBBAB; pointer-events: none; - padding: 20px 20px; + padding: 20px 60px; } .med-button { @@ -134,7 +134,7 @@ h1 { color: #fff; font-weight: 500; font-size: 11px; - background-color: #2BCA81; + background-color: #ff6a46; padding: 6px 8px; } @@ -193,7 +193,7 @@ input, select { } img.currency-symbol { - height: 13px; - margin-bottom: -4px; - margin-left: 3px; + height: 20px; + margin-bottom: -5px; + margin-left: 5px; } diff --git a/src/components/BidSelectionHeader.jsx b/src/components/BidSelectionHeader.jsx index 6a484cf..84b458f 100644 --- a/src/components/BidSelectionHeader.jsx +++ b/src/components/BidSelectionHeader.jsx @@ -2,9 +2,9 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import Link from '../containers/LinkContainer.jsx'; import './BidSelectionHeader.css'; -import sort_button from '../images/sort_button.svg'; +import sort_button from '../images/sort-button.svg'; import arrow from '../images/arrow-left.svg'; -import x_button from '../images/x_button.svg'; +import x_button from '../images/x-button.svg'; import check from '../images/check.svg'; const CheckMark = props => ( @@ -52,11 +52,21 @@ class BidSelectionHeader extends Component { //call function in SearchingScreen, passing in //selected sort option this.props.handleSortingOptionChange(e.target.title); - + let delay = 0; + //set selected sort option this.setState({ - sortOptionSelected: e.target.title, - sortOptionsOpen: !this.state.sortOptionsOpen + sortOptionSelected: e.target.title }); + //check if options are open or closed to set delay + if (this.state.sortOptionsOpen) { + delay = 100; + } + //set delay + setTimeout(() => { + this.setState({ + sortOptionsOpen: !this.state.sortOptionsOpen + }); + }, delay); } render() { @@ -151,7 +161,7 @@ class BidSelectionHeader extends Component {
- + Back @@ -172,7 +182,7 @@ class BidSelectionHeader extends Component { BidSelectionHeader.propTypes = { vehicles: PropTypes.object.isRequired, vehicleOnMission: PropTypes.object, - missionId: PropTypes.number, + missionId: PropTypes.string, bids: PropTypes.array.isRequired, stage: PropTypes.string.isRequired, cancelSearch: PropTypes.func.isRequired, diff --git a/src/components/IconSelector.css b/src/components/IconSelector.css index 361744d..f11fcfd 100644 --- a/src/components/IconSelector.css +++ b/src/components/IconSelector.css @@ -20,7 +20,7 @@ .selected { transition: background-color 0.3s ease; - background-color: rgba(116, 67, 250, 1); + background-color: #FF6A46; } .svgSelected { diff --git a/src/components/MainScreen.css b/src/components/MainScreen.css index 06285e5..0edc53a 100644 --- a/src/components/MainScreen.css +++ b/src/components/MainScreen.css @@ -11,15 +11,25 @@ div#user-controls, a.order-button { pointer-events: all; } +div#header { + position: relative; +} + div#logo { - margin: 15px auto 0; + margin: 16px auto; width: 116px; } + div#logo img { width: 116px; height: 46px; } +span.logo-subtext { + text-align: center; + display: block; +} + div#user-controls { width: 34px; height: 34px; @@ -29,5 +39,29 @@ div#user-controls { } a.order-button { - margin: 0 auto 10px; + margin: 0 auto 20px; +} + +/* */ + +.profile { + position: absolute; + top: 16px; + right: 16px; +} + +.user-location { + margin-top: auto; + padding: 16px; +} + +.user-location h3 { + font-size: 18px; + font-weight: 300; +} + +.user-location p { + font-size: 14px; + font-weight: 500; + color: #807B9C; } diff --git a/src/components/MainScreen.jsx b/src/components/MainScreen.jsx deleted file mode 100644 index adb7b55..0000000 --- a/src/components/MainScreen.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import React, { Component } from 'react'; -import PropTypes from 'prop-types'; -import Link from '../containers/LinkContainer.jsx'; -import './MainScreen.css'; -import logo from '../images/logo_missions.png'; - -class MainScreen extends Component { - componentDidMount() { - this.props.onMount(); - } - render() { - return ( -
- - Order Pickup -
- ); - } -} - -MainScreen.propTypes = { - onMount: PropTypes.func.isRequired, -}; - - -export default MainScreen; diff --git a/src/components/Map.jsx b/src/components/Map.jsx index 9d61299..ec8b9b5 100644 --- a/src/components/Map.jsx +++ b/src/components/Map.jsx @@ -1,70 +1,103 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import { createMap, updateMap, initiateZoomTransition, clearPins, addTerminalPinSources} from '../lib/map'; +import { + createMap, + updateMap, + initiateZoomTransition, + clearTerminals, + addTerminals, + addRoute, + clearRoute +} from '../lib/map'; +import { NEED_TYPES } from '../config/needTypes.js'; import './Map.css'; class Map extends Component { constructor(props) { super(props); this.map = null; - this.onVehicleClick = this.onVehicleClick.bind(this); + this.onMapItemClick = this.onMapItemClick.bind(this); } shouldComponentUpdate(nextProps) { - const terminals = { - pickup: nextProps.pickup, - dropoff: nextProps.dropoff - }; + const terminals = {}; + + if (nextProps.pickup) terminals.pickup = nextProps.pickup; + if (nextProps.dropoff) terminals.dropoff = nextProps.dropoff; + + if (nextProps.startPosition) terminals.pickup = nextProps.startPosition; + if (nextProps.endPosition) terminals.dropoff = nextProps.endPosition; + + if (nextProps.droneLocation) terminals.droneLocation = nextProps.droneLocation; + + updateMap(this.map, nextProps.mapItems, nextProps.mapItemType, terminals); - updateMap(this.map, nextProps.vehicles, terminals); + if (this.props.orderStage === 'draft' && nextProps.orderStage === 'searching') { + initiateZoomTransition(this.map, terminals, { maxZoom: 14 }); + addTerminals(this.map); + } - if(this.props.orderStage === 'draft' && nextProps.orderStage === 'searching') { - initiateZoomTransition(this.map, nextProps.pickup, nextProps.pickup,{maxZoom:14}); - addTerminalPinSources(this.map); + if (nextProps.showRoutePath === true && nextProps.graddPayload) { + if (nextProps.needType === NEED_TYPES.ROUTE_PLAN) { + const route = extractTerminals(nextProps.graddPayload); + addRoute(this.map, route); + } else { + clearTerminals(this.map); + } } if (nextProps.missionStatus === 'completed') { - clearPins(this.map); + clearTerminals(this.map); + clearRoute(this.map); } - if(['searching', 'choosing', 'signing'].includes(this.props.orderStage) && nextProps.orderStage === 'draft') { - clearPins(this.map); + if (['searching', 'choosing', 'signing'].includes(this.props.orderStage) && nextProps.orderStage === 'draft') { + clearTerminals(this.map); } else { - addTerminalPinSources(this.map); + addTerminals(this.map); } if (nextProps.orderStage === 'in_mission') { - initiateZoomTransition(this.map, nextProps.pickup, nextProps.dropoff); - if (this.props.vehicles.length > 0 && nextProps.vehicles[0].status === 'waiting_pickup') { - this.props.history.push(this.props.appPath+'/confirm-takeoff'); + if (nextProps.needType === NEED_TYPES.DRONE_CHARGING) { + this.props.history.push(this.props.appPath + '/mission'); + } else if (nextProps.needType === NEED_TYPES.ROUTE_PLAN) { + initiateZoomTransition(this.map, terminals, { maxZoom: 14 }); + this.props.history.push(this.props.appPath + '/mission'); } else { - this.props.history.push(this.props.appPath+'/mission'); + initiateZoomTransition(this.map, terminals, { maxZoom: 14 }); + if (this.props.vehicleOnMission && this.props.vehicleOnMission.status === 'waiting_pickup') { + this.props.history.push(this.props.appPath + '/confirm-takeoff'); + } else { + this.props.history.push(this.props.appPath + '/mission'); + } } } return false; } - onVehicleClick(id) { - if (this.props.orderStage == 'in_mission'){ - this.props.history.push(this.props.appPath+'/mission/vehicle/'+id); + onMapItemClick({ id, mapItemType }) { + if (this.props.orderStage == 'in_mission') { + this.props.history.push(this.props.appPath + `/mission/${mapItemType}/` + id); } else { - this.props.history.push(this.props.appPath+'/vehicle/'+id); + this.props.history.push(this.props.appPath + `/${mapItemType}/` + id); } } + componentDidMount() { this.map = createMap({ 'containerId': 'map', 'coords': this.props.coords, - 'onVehicleClick': this.onVehicleClick, - 'onMoveEnd': this.props.onMoveEnd + 'onMapItemClick': this.onMapItemClick, + 'onMoveEnd': this.props.onMoveEnd, + 'addControls': this.props.addControls }); const terminals = { pickup: this.props.pickup, dropoff: this.props.dropoff }; - updateMap(this.map, this.props.vehicles, terminals); + updateMap(this.map, this.props.mapItems, this.props.mapItemType, terminals); } render() { @@ -77,12 +110,18 @@ class Map extends Component { } } +function extractTerminals(graddPayload) { + return graddPayload.features.map(terminal => terminal.geometry.coordinates).map(coordinates => ({long: coordinates[0], lat: coordinates[1]})); +} + Map.defaultProps = { - coords: {lat: 32.068717, long: 34.775805} + coords: { lat: 32.068717, long: 34.775805 } }; Map.propTypes = { - vehicles: PropTypes.array.isRequired, + mapItems: PropTypes.array.isRequired, + mapItemType: PropTypes.string.isRequired, + needType: PropTypes.string.isRequired, coords: PropTypes.object.isRequired, history: PropTypes.object.isRequired, onMoveEnd: PropTypes.func.isRequired, @@ -90,7 +129,14 @@ Map.propTypes = { missionStatus: PropTypes.string, pickup: PropTypes.object, dropoff: PropTypes.object, - appPath: PropTypes.string + droneLocation: PropTypes.object, + startPosition: PropTypes.object, + endPosition: PropTypes.object, + appPath: PropTypes.string, + addControls: PropTypes.bool, + showRoutePath: PropTypes.bool, + graddPayload: PropTypes.object, + vehicleOnMission: PropTypes.object, }; export default Map; diff --git a/src/components/MapItemBidPreview.jsx b/src/components/MapItemBidPreview.jsx new file mode 100644 index 0000000..5c2ae00 --- /dev/null +++ b/src/components/MapItemBidPreview.jsx @@ -0,0 +1,15 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import MapItemCard from './MapItemCard.jsx'; + +const MapItemBidPreview = ({mapItem}) => ( +
+ +
+); + +MapItemBidPreview.propTypes = { + mapItem: PropTypes.object.isRequired, +}; + +export default MapItemBidPreview; diff --git a/src/components/VehicleCard.jsx b/src/components/MapItemCard.jsx similarity index 86% rename from src/components/VehicleCard.jsx rename to src/components/MapItemCard.jsx index 95c89b4..9e14cbc 100644 --- a/src/components/VehicleCard.jsx +++ b/src/components/MapItemCard.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -const VehicleCard = ({ id, icon, model, buttonText, buttonOnClick, buttonClass }) => { +const MapItemCard = ({ id, icon, model, buttonText, buttonOnClick, buttonClass }) => { let buttonClasses = ['med-button']; if (buttonClass) buttonClasses.push(buttonClass); return ( @@ -18,7 +18,7 @@ const VehicleCard = ({ id, icon, model, buttonText, buttonOnClick, buttonClass } ); }; -VehicleCard.propTypes = { +MapItemCard.propTypes = { id: PropTypes.string, icon: PropTypes.string.isRequired, model: PropTypes.string.isRequired, @@ -27,4 +27,4 @@ VehicleCard.propTypes = { buttonClass: PropTypes.string, }; -export default VehicleCard; +export default MapItemCard; diff --git a/src/components/VehicleDetails.css b/src/components/MapItemDetails.css similarity index 100% rename from src/components/VehicleDetails.css rename to src/components/MapItemDetails.css diff --git a/src/components/MapItemDetails.jsx b/src/components/MapItemDetails.jsx new file mode 100644 index 0000000..f114852 --- /dev/null +++ b/src/components/MapItemDetails.jsx @@ -0,0 +1,18 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import MapItemCard from './MapItemCard.jsx'; +import './MapItemDetails.css'; + +const MapItemDetails = ({mapItem}) => ( +
+ +
{mapItem.missions_completed} missions completed successfully
+
{mapItem.missions_completed_7_days} missions completed successfully in last 7 days
+
+); + +MapItemDetails.propTypes = { + mapItem: PropTypes.object.isRequired, +}; + +export default MapItemDetails; diff --git a/src/components/VehicleDetailsScreen.jsx b/src/components/MapItemDetailsScreen.jsx similarity index 69% rename from src/components/VehicleDetailsScreen.jsx rename to src/components/MapItemDetailsScreen.jsx index b2999d1..ac2f590 100644 --- a/src/components/VehicleDetailsScreen.jsx +++ b/src/components/MapItemDetailsScreen.jsx @@ -1,8 +1,8 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import VehicleDetailsContainer from '../containers/VehicleDetailsContainer.jsx'; +import MapItemDetailsContainer from '../containers/MapItemDetailsContainer.jsx'; -class VehicleDetailsScreen extends Component { +class MapItemDetailsScreen extends Component { constructor(props){ super(props); @@ -20,7 +20,7 @@ class VehicleDetailsScreen extends Component {
- +
@@ -28,9 +28,9 @@ class VehicleDetailsScreen extends Component { } } -VehicleDetailsScreen.propTypes = { +MapItemDetailsScreen.propTypes = { match: PropTypes.object.isRequired, history: PropTypes.object.isRequired }; -export default VehicleDetailsScreen; +export default MapItemDetailsScreen; diff --git a/src/components/MissionScreen.css b/src/components/MissionScreen.css index 1950022..af38a3c 100644 --- a/src/components/MissionScreen.css +++ b/src/components/MissionScreen.css @@ -69,5 +69,5 @@ .mission-info-summary .close { padding: 15px 45px; display: inline-block; - background-color: #807B9C; + background-color: #FF6A46; } diff --git a/src/components/MissionScreen.jsx b/src/components/MissionScreen.jsx index 06d7242..63e50ec 100644 --- a/src/components/MissionScreen.jsx +++ b/src/components/MissionScreen.jsx @@ -1,10 +1,9 @@ import React, {Component} from 'react'; import './MissionScreen.css'; -import gpsPointIcon from '../images/gps_point.svg'; +import gpsPointIcon from '../images/gps-point.svg'; import timeIcon from '../images/time.svg'; import currencyImage from '../images/dav.svg'; import PropTypes from 'prop-types'; -import Link from '../containers/LinkContainer.jsx'; import {humanReadableVehicleStatus} from '../lib/utils'; class MissionScreen extends Component { @@ -13,15 +12,27 @@ class MissionScreen extends Component { super(props); } + UNSAFE_componentWillReceiveProps(nextProps) { + if(nextProps.missionStatus === 'completed') { + this.props.history.push(this.props.appPath); + } + } + approveCompletedMission() { + this.props.approveCompletedMission(); // TODO: show spinner or disable the button + } + render() { - if (this.props.missionComplete) { + + if (this.props.vehicleStatus === 'ready') { return (

Delivery completed successfully

Cost for delivery:

{(this.props.price/1000000000000000000).toFixed(2)} DAV

- Close +
); @@ -53,11 +64,15 @@ class MissionScreen extends Component { } MissionScreen.propTypes = { + history: PropTypes.object.isRequired, + appPath: PropTypes.string, + missionStatus: PropTypes.string, vehicleStatus: PropTypes.string, missionComplete: PropTypes.bool.isRequired, leg: PropTypes.string, timeLeftInLeg: PropTypes.number, - price: PropTypes.number + price: PropTypes.number, + approveCompletedMission: PropTypes.func.isRequired, }; export default MissionScreen; diff --git a/src/components/OrderScreen.css b/src/components/OrderScreen.css index 9096699..3a5293a 100644 --- a/src/components/OrderScreen.css +++ b/src/components/OrderScreen.css @@ -18,6 +18,7 @@ a.form-submit-button { position: relative; text-align: left; } + .geosuggest__input { width: 100%; padding: .5em 1em; @@ -38,8 +39,9 @@ a.form-submit-button { list-style: none; z-index: 5; -webkit-transition: max-height 0.2s, border 0.2s; - transition: max-height 0.2s, border 0.2s; + transition: max-height 0.2s, border 0.2s; } + .geosuggest__suggests--hidden { max-height: 0; overflow: hidden; @@ -53,18 +55,57 @@ a.form-submit-button { padding: .5em .65em; cursor: pointer; } + .geosuggest__item:hover, .geosuggest__item:focus { background: #f5f5f5; } + .geosuggest__item--active { background-color: #B8BCFF; color: #fff; } + .geosuggest__item--active:hover, .geosuggest__item--active:focus { background: #ccc; } + .geosuggest__item__matched-text { font-weight: bold; } + +.swallet-dialog__close-button { + position: absolute; + top: 10px; + right: 19px; +} + +.wallet-dialog { + text-align: center; +} + +.wallet-dialog p { + text-align: center; + margin: 25px; +} + +.wallet-dialog h1 { + font-size: 20px; +} + +.wallet-dialog span { + display: block; + font-size: 12px; + margin: 10px; +} + +.wallet-dialog button.big-button { + font-weight: normal; + padding: 15px 80px; + margin: auto; +} + +.rangeslider__fill { + background-color: #FF6A46 !important; +} diff --git a/src/components/SearchingScreen.css b/src/components/SearchingScreen.css index a90762b..2c21a6c 100644 --- a/src/components/SearchingScreen.css +++ b/src/components/SearchingScreen.css @@ -24,7 +24,8 @@ font-size: 15px; font-weight: 500; max-width: 160px; - margin: 35px auto 10px; + margin: 16px auto 12px; + color: #FF6A46; } #searching-screen .vehicle-card { @@ -38,9 +39,11 @@ #searching-screen .cancel-button { display: block; - margin: 20px auto 10px; + margin: 12px auto; width: 60px; text-align: center; + border-color: #FF6A46; + color: #FF6A46; } .vehicle-bid-card { @@ -175,4 +178,14 @@ dl.bid-details { } #signing-box #sign-here img { margin-top: 11px; +} + +#searching-screen .vehicle-vitals .dav-uid { + font-size: 10px; + overflow: hidden; + text-overflow: ellipsis; +} + +#searching-screen img.currency-symbol { + height: 16px; } \ No newline at end of file diff --git a/src/components/SearchingScreen.jsx b/src/components/SearchingScreen.jsx index 6612334..e1862ec 100644 --- a/src/components/SearchingScreen.jsx +++ b/src/components/SearchingScreen.jsx @@ -2,13 +2,13 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import Link from '../containers/LinkContainer.jsx'; import VehicleBid from './VehicleBid.jsx'; -import VehicleBidPreview from './VehicleBidPreview.jsx'; -import VehicleCard from './VehicleCard.jsx'; +import MapItemBidPreview from './MapItemBidPreview.jsx'; +import MapItemCard from './MapItemCard.jsx'; import UserCardContainer from '../containers/UserCardContainer.jsx'; import BidSelectionHeader from '../components/BidSelectionHeader.jsx'; -import './SearchingScreen.css'; +import Modal from './modal/Modal.jsx'; import radar from '../images/radar.png'; - +import './SearchingScreen.css'; class SearchingScreen extends Component { constructor(props) { super(props); @@ -18,7 +18,7 @@ class SearchingScreen extends Component { sortedBids: [] }; - this.handleSortingOptionChange = this.handleSortingOptionChange.bind(this); + this.animateBidsUp = this.animateBidsUp.bind(this); this.returnSortedBids = this.returnSortedBids.bind(this); } @@ -29,27 +29,32 @@ class SearchingScreen extends Component { if (this.props.stage === 'choosing' && prevProps.stage !== 'choosing') { //run initial bid sort when bids have been received - this.handleSortingOptionChange(this.state.selectedSortingOption); + if (this.props.bids.length) { + this.handleSortingOptionChange(this.state.selectedSortingOption); + } else { + this.setState({showModal: true}); + } } } // This function is called from BidSelectionHeader when a // sorting option is chosen. handleSortingOptionChange(option) { - this.setState({ + this.setState((state, props) => ({ selectedSortingOption: option, - sortedBids: this.returnSortedBids(option) - }); + sortedBids: this.returnSortedBids(props, option) + })); + this.animateBidsUp(); } - returnSortedBids(option) { + returnSortedBids(props, option) { /* eslint-disable indent */ switch (option) { case 'Best match': { // sort on 'time_to_pickup', if bids have similar pickup time, show // the lowest price first - return this.props.bids.sort((a, b) => { + return props.bids.sort((a, b) => { //convert 'time_to_pickup' to minutes let timeToPickupMinutes_A = Math.ceil(a.time_to_pickup / 60000); let timeToPickupMinutes_B = Math.ceil(b.time_to_pickup / 60000); @@ -66,13 +71,13 @@ class SearchingScreen extends Component { } case 'Fastest pickup': { //sort on 'time_to_pickup' - return this.props.bids.sort( + return props.bids.sort( (a, b) => parseFloat(a.time_to_pickup) - parseFloat(b.time_to_pickup) ); } case 'Fastest delivery': { //sort on 'time_to_dropoff' - return this.props.bids.sort( + return props.bids.sort( (a, b) => parseFloat(a.time_to_dropoff) - parseFloat(b.time_to_dropoff) ); @@ -89,8 +94,11 @@ class SearchingScreen extends Component { /* eslint-enable indent */ } - render() { + animateBidsUp (){ + setTimeout(() => this.setState({showBids: true})); + } + render() { const { bids, vehicles, @@ -127,10 +135,10 @@ class SearchingScreen extends Component {
{bids.map( bid => - vehicles[bid.vehicle_id] && ( - ) )} @@ -147,12 +155,12 @@ class SearchingScreen extends Component { )} {this.state.sortedBids.map( bid => - vehicles[bid.vehicle_id] && ( + vehicles[bid.captain_id] && ( ) @@ -161,27 +169,40 @@ class SearchingScreen extends Component {
{stage === 'signing' && - vehicleOnMission && ( -
-
-

Initiating DAV Transaction

-

Signing secure smart contract between:

- +
+

Initiating DAV Transaction

+

Signing secure smart contract between:

+ +
+ Signing smart contract -
- Signing smart contract -
-
+
- )} +
+ )}
+ { + this.props.history.push('/'); + this.setState({showModal: false}); + } + } + > + We couldn’t find any provider for the requested service.
+ Please try again later, or try refining your search. +
); } @@ -190,11 +211,12 @@ class SearchingScreen extends Component { SearchingScreen.propTypes = { vehicles: PropTypes.object.isRequired, vehicleOnMission: PropTypes.object, - missionId: PropTypes.number, + missionId: PropTypes.string, bids: PropTypes.array.isRequired, stage: PropTypes.string.isRequired, cancelSearch: PropTypes.func.isRequired, - chooseBid: PropTypes.func.isRequired + chooseBid: PropTypes.func.isRequired, + history: PropTypes.object }; export default SearchingScreen; diff --git a/src/components/VehicleBid.jsx b/src/components/VehicleBid.jsx index bd57d32..acade26 100644 --- a/src/components/VehicleBid.jsx +++ b/src/components/VehicleBid.jsx @@ -1,12 +1,12 @@ import React from 'react'; import PropTypes from 'prop-types'; -import VehicleCard from './VehicleCard.jsx'; +import MapItemCard from './MapItemCard.jsx'; import currencyImage from '../images/dav.svg'; const VehicleBid = ({bid, vehicle, shown, chooseBid}) => { const clickChooseBid = (e) => { e.preventDefault(); - chooseBid(bid.id); + chooseBid(bid.id, bid.captain_id, bid.price, bid.token_amount); }; let classNames = ['vehicle-bid-card']; @@ -15,14 +15,17 @@ const VehicleBid = ({bid, vehicle, shown, chooseBid}) => { } return (
- +
Estimated pickup time:
in {Math.ceil(bid.time_to_pickup/60000)} minutes
Estimated delivery time:
{Math.ceil(bid.time_to_dropoff/60000)} minutes
Cost for delivery:
-
{parseFloat(bid.price/1000000000000000000).toFixed(2)}DAV
+
{parseFloat(bid.price/1000000000000000000).toFixed(4)} ETH
+
Token amount:
+
{parseFloat(bid.token_amount/1000000000000000000).toFixed(2)}DAV
+
); diff --git a/src/components/VehicleBidPreview.jsx b/src/components/VehicleBidPreview.jsx deleted file mode 100644 index 2c34054..0000000 --- a/src/components/VehicleBidPreview.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import VehicleCard from './VehicleCard.jsx'; - -const VehicleBidPreview = ({vehicle}) => ( -
- -
-); - -VehicleBidPreview.propTypes = { - vehicle: PropTypes.object.isRequired, -}; - -export default VehicleBidPreview; diff --git a/src/components/VehicleDetails.jsx b/src/components/VehicleDetails.jsx deleted file mode 100644 index 7c3bdfa..0000000 --- a/src/components/VehicleDetails.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import VehicleCard from './VehicleCard.jsx'; -import './VehicleDetails.css'; - -const VehicleDetails = ({vehicle}) => ( -
- -
{vehicle.missions_completed} missions completed successfully
-
{vehicle.missions_completed_7_days} missions completed successfully in last 7 days
-
-); - -VehicleDetails.propTypes = { - vehicle: PropTypes.object.isRequired, -}; - -export default VehicleDetails; diff --git a/src/components/delivery_drones/MainScreen.jsx b/src/components/delivery_drones/MainScreen.jsx new file mode 100644 index 0000000..4517e3b --- /dev/null +++ b/src/components/delivery_drones/MainScreen.jsx @@ -0,0 +1,40 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import '../MainScreen.css'; +import logoMissions from '../../images/logo_missions.svg'; +import logoMooving from '../../images/logo_mooving.svg'; + +const logo = (domain => { + switch (domain) { + default: + case 'missions': + return logoMissions; + case 'mooving': + return logoMooving; + } +})(process.env.DOMAIN); + +class MainScreen extends Component { + componentDidMount() { + this.props.onMount(); + } + render() { + return ( +
+ + + Order Pickup + +
+ ); + } +} + +MainScreen.propTypes = { + onMount: PropTypes.func.isRequired +}; + +export default MainScreen; diff --git a/src/components/OrderScreen.jsx b/src/components/delivery_drones/OrderScreen.jsx similarity index 51% rename from src/components/OrderScreen.jsx rename to src/components/delivery_drones/OrderScreen.jsx index f35cd1b..d5368ab 100644 --- a/src/components/OrderScreen.jsx +++ b/src/components/delivery_drones/OrderScreen.jsx @@ -1,12 +1,14 @@ -import React, { Component } from 'react'; +import React, {Component} from 'react'; import PropTypes from 'prop-types'; -import Link from '../containers/LinkContainer.jsx'; -import './OrderScreen.css'; -import arrow from '../images/arrow-left.svg'; -import IconSelector from './IconSelector.jsx'; -import getConfig from '../config'; -import { packageSizeOptions } from '../lib/utils'; +import Link from '../../containers/LinkContainer.jsx'; +import arrow from '../../images/arrow-left.svg'; import Geosuggest from 'react-geosuggest'; +import 'react-rangeslider/lib/index.css'; +import '../OrderScreen.css'; +import x_button from '../../images/x-button.svg'; +import IconSelector from '../IconSelector.jsx'; +import getConfig from '../../config'; +import {packageSizeOptions} from '../../lib/utils'; class OrderScreen extends Component { constructor(props) { @@ -33,32 +35,40 @@ class OrderScreen extends Component { this.props.onMount(); } + UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.registration_step === 'register_fulfilled') { + this.submitForm(); + } + } + createOrderDetailsObject() { - const { pickup, dropoff, packageSize } = this.state; + const {pickup, dropoff, packageSize} = this.state; return { pickup: pickup ? - { address: pickup.description, lat: pickup.location.lat, long: pickup.location.lng } : undefined, + {address: pickup.description, lat: 47.397669, long: 8.5444809} : undefined, dropoff: dropoff ? - { lat: dropoff.lat, long: dropoff.lng } : undefined, + {lat: 47.3982004, long: 8.5448531} : undefined, size: packageSize || undefined, weight: this.weightNode.value || undefined, - pickup_at: this.pickupTimeNode.value || undefined + pickup_at: this.pickupTimeNode.value || undefined, + need_type: this.props.needType }; } updateStoreFromForm(detailOverride = {}) { const details = this.createOrderDetailsObject(); - this.props.updateOrderDetails({ ...details, ...detailOverride }); + this.props.updateOrderDetails({...details, ...detailOverride}); } cancelForm() { - this.updateStoreFromForm({ stage: 'draft', pickup: null, dropoff: null }); + this.updateStoreFromForm({stage: 'draft', pickup: null, dropoff: null}); } submitForm() { - this.updateStoreFromForm({ stage: 'searching' }); + this.updateStoreFromForm({stage: 'searching', registration_step: 'registered'}); let needDetails = this.createOrderDetailsObject(); this.props.createNeed(needDetails); + this.props.history.push(this.props.appPath + '/searching'); } selectPackageSize(size) { @@ -67,16 +77,70 @@ class OrderScreen extends Component { }); } - getSizeContainer() { } + getSizeContainer() { + } + + dismissDialog() { + this.props.closeWalletDialog(); + } + + verifyIdentity() { + this.props.verifyIdentity(); + } + + registerIdentity() { + this.props.registerIdentity(); + } render() { - const { weight } = this.props; // size + const {weight} = this.props; // size const pickup_at = this.props.pickup_at || new Date().toTimeString().slice(0, 5); + let showSignInToWalletDialog = this.props.registration_step === 'unlock_wallet'; + const signInToWalletDialog = ( +
+
+
+
+

Please Sign in To A Wallet

+

It seems that you are not signed in to
+ an existing wallet in your browser.
+ Please sign in, or create a new wallet.

+ +
+
+
); + + let showRegisterDavIdDialog = this.props.registration_step === 'register_id'; + const registerDavIdDialog = ( +
+
+
+
+
+ close button +
+

Missing DAV ID

+

This wallet is not connected to a DAV ID

+ + + Note: This is an Ethereum transaction that will
+ cost you some Gas +
+
+
+
); + return (
- - Back + + Back

Order Pickup

@@ -87,12 +151,12 @@ class OrderScreen extends Component { ignoreTab={true} placeholder="Type the address of the pickup location" onChange={ - () => this.setState({ pickup: undefined }) + () => this.setState({pickup: undefined}) } onSuggestSelect={ geo => { if (geo) { - this.setState({ pickup: geo }); + this.setState({pickup: geo}); } } } @@ -106,12 +170,12 @@ class OrderScreen extends Component { ignoreTab={true} placeholder="Type the address of the dropoff location" onChange={ - () => this.setState({ dropoff: undefined }) + () => this.setState({dropoff: undefined}) } onSuggestSelect={ geo => { if (geo) { - this.setState({ dropoff: geo.location }); + this.setState({dropoff: geo.location}); } } } @@ -153,20 +217,21 @@ class OrderScreen extends Component { }} />
- + + {showSignInToWalletDialog === false ? (
) : signInToWalletDialog} + {showRegisterDavIdDialog === false ? (
) : registerDavIdDialog}
); } } OrderScreen.propTypes = { + history: PropTypes.object.isRequired, + appPath: PropTypes.string, + needType: PropTypes.string, userCoords: PropTypes.object, defaultDropoff: PropTypes.object, pickup: PropTypes.object, @@ -174,9 +239,14 @@ OrderScreen.propTypes = { pickup_at: PropTypes.string, size: PropTypes.string, weight: PropTypes.string, + registration_step: PropTypes.string.isRequired, + fetching: PropTypes.bool.isRequired, updateOrderDetails: PropTypes.func.isRequired, createNeed: PropTypes.func.isRequired, - onMount: PropTypes.func.isRequired + onMount: PropTypes.func.isRequired, + verifyIdentity: PropTypes.func.isRequired, + registerIdentity: PropTypes.func.isRequired, + closeWalletDialog: PropTypes.func.isRequired, }; export default OrderScreen; diff --git a/src/components/drone_charging/ChargingBidSelectionHeader.jsx b/src/components/drone_charging/ChargingBidSelectionHeader.jsx new file mode 100644 index 0000000..e3aba84 --- /dev/null +++ b/src/components/drone_charging/ChargingBidSelectionHeader.jsx @@ -0,0 +1,183 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import '../BidSelectionHeader.css'; +import sort_button from '../../images/sort-button.svg'; +import arrow from '../../images/arrow-left.svg'; +import x_button from '../../images/x-button.svg'; +import check from '../../images/check.svg'; + +const CheckMark = props => ( + checkmark +); + +CheckMark.propTypes = { + hide: PropTypes.bool +}; + +class ChargingBidSelectionHeader extends Component { + constructor(props) { + super(props); + + this.sortOptions = { + bestMatch: 'Best match', + shortestDistance: 'Shortest distance', + highestChargingVelocity: 'Highest charging velocity', + lowestCost: 'Lowest cost' + }; + + this.state = { + sortOptionsOpen: false, + sortOptionSelected: this.sortOptions.bestMatch + }; + + this.handleSortButtonClick = this.handleSortButtonClick.bind(this); + this.handleCloseButtonClick = this.handleCloseButtonClick.bind(this); + this.handleSortOptionClick = this.handleSortOptionClick.bind(this); + } + + handleSortButtonClick() { + this.setState({ sortOptionsOpen: !this.state.sortOptionsOpen }); + } + + handleCloseButtonClick() { + this.setState({ sortOptionsOpen: !this.state.sortOptionsOpen }); + } + + handleSortOptionClick(e) { + //call function in SearchingScreen, passing in + //selected sort option + this.props.handleSortingOptionChange(e.target.title); + + this.setState({ + sortOptionSelected: e.target.title, + sortOptionsOpen: !this.state.sortOptionsOpen + }); + } + + render() { + let { sortOptionsOpen, sortOptionSelected } = this.state; + return ( +
+
+
+ close button +
+
Sort by:
+
    +
  • + Best match + +
  • +
  • + Fastest pickup + +
  • +
  • + Fastest delivery + +
  • +
  • + Lowest cost + +
  • +
+
+
+ + Back + + + {/*
Bid Selection
*/} +
Bid Selection
+
+ sort button +
+
+
+ ); + } +} + +ChargingBidSelectionHeader.propTypes = { + chargers: PropTypes.object.isRequired, + chargerOnMission: PropTypes.object, + missionId: PropTypes.string, + bids: PropTypes.array.isRequired, + stage: PropTypes.string.isRequired, + cancelSearch: PropTypes.func.isRequired, + chooseBid: PropTypes.func.isRequired, + handleSortingOptionChange: PropTypes.func.isRequired +}; + +export default ChargingBidSelectionHeader; diff --git a/src/components/drone_charging/ChargingStationBid.jsx b/src/components/drone_charging/ChargingStationBid.jsx new file mode 100644 index 0000000..a59abb1 --- /dev/null +++ b/src/components/drone_charging/ChargingStationBid.jsx @@ -0,0 +1,40 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import MapItemCard from '../MapItemCard.jsx'; +import currencyImage from '../../images/dav.svg'; + +const ChargingStationBid = ({bid, charger, shown, chooseBid}) => { + const clickChooseBid = (e) => { + e.preventDefault(); + chooseBid(bid.id, bid.captain_id, bid.price, bid.token_amount); + }; + + let classNames = ['vehicle-bid-card']; + if (!shown) { + classNames.push('vehicle-bid-card--hidden'); + } + return ( +
+ +
+
Distance from station:
+
{bid.distance} km
+
Max charging velocity
+
{charger.max_charging_velocity} Ah
+
Cost for charging:
+
{parseFloat(bid.price/1000000000000000000).toFixed(4)} ETH
+
Token amount:
+
{parseFloat(bid.token_amount/1000000000000000000).toFixed(2)}DAV
+
+
+ ); +}; + +ChargingStationBid.propTypes = { + bid: PropTypes.object.isRequired, + charger: PropTypes.object.isRequired, + shown: PropTypes.bool.isRequired, + chooseBid: PropTypes.func.isRequired, +}; + +export default ChargingStationBid; diff --git a/src/components/drone_charging/MainScreen.jsx b/src/components/drone_charging/MainScreen.jsx new file mode 100644 index 0000000..b4c7f51 --- /dev/null +++ b/src/components/drone_charging/MainScreen.jsx @@ -0,0 +1,45 @@ +import React, {Component} from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import '../MainScreen.css'; +import logoMissions from '../../images/logo_missions.svg'; +import logoMooving from '../../images/logo_mooving.svg'; + +const logo = (domain => { + switch (domain) { + default: + case 'missions': + return logoMissions; + case 'mooving': + return logoMooving; + } +})(process.env.DOMAIN); + +class MainScreen extends Component { + componentDidMount() { + this.props.onMount(); + } + + render() { + return ( +
+ + + Find Charging Stations +
+ ); + } +} + +MainScreen.propTypes = { + onMount: PropTypes.func.isRequired, + coords: PropTypes.object, + chargers: PropTypes.array +}; + + +export default MainScreen; diff --git a/src/components/drone_charging/MissionScreen.jsx b/src/components/drone_charging/MissionScreen.jsx new file mode 100644 index 0000000..44f28c8 --- /dev/null +++ b/src/components/drone_charging/MissionScreen.jsx @@ -0,0 +1,134 @@ +import React, {Component} from 'react'; +import '../MissionScreen.css'; +import '../ConfirmTakeoff.css'; +import timeIcon from '../../images/time.svg'; +import currencyImage from '../../images/dav.svg'; +import droneWaiting from '../../images/charging_drone_waiting.png'; +import stationWaiting from '../../images/icon_charging_station.png'; +import chargingIcon from '../../images/charging_icon.png'; +import {humanReadableVehicleStatus} from '../../lib/utils'; +import PropTypes from 'prop-types'; + +class MissionScreen extends Component { + + constructor(props) { + super(props); + } + + UNSAFE_componentWillReceiveProps(nextProps) { + if(nextProps.missionStatus === 'completed') { + this.props.history.push(this.props.appPath); + } + } + + approveCompletedMission() { + this.props.approveCompletedMission(); + } + + render() { + if (this.props.vehicleStatus === 'ready') { + return ( +
+
+

Charging completed successfully

+

Cost for charging:

+

{(this.props.price / 1000000000000000000).toFixed(2)} + DAV +

+ +
+
+ ); + } else if (this.props.vehicleStatus === 'docking_confirmation_received') { + return ( +
+
+
+
+

Charging in progress

+

Whenever you would like to end charging, press the ‘Stop Charging’ button

+

+ charging icon +

+ +
+
+
); + } else if (this.props.vehicleStatus === 'charger_waiting') { + return ( +
+
+
+
+

Waiting for your drone

+

Once your drone has arrived and docked at the charging station, press the ‘Start Charging’ button

+

+ Waiting for drone icon +

+ +
+
+
+ ); + } else if (this.props.vehicleStatus === 'in_progress') { + return ( +
+
+
+
+

Awaiting Station Availabilty

+

The charging station is now preparing for your drone’s arrival. + You will be notified when it is ready

+

+ Waiting for station icon +

+ +
+
+
+ ); + } else { + return ( // TODO: fix in_mission case and use captainstateinsted of mission +
+
+
+

Current State:

+

{humanReadableVehicleStatus[this.props.vehicleStatus]}

+
+
+
+
+ Time Icon +
+
+

Estimated time:

+

{parseFloat(this.props.timeLeft) > 1 ? `${this.props.timeLeft} minutes` : 'less than a minute'}

+
+
+
+ ); + } + } +} + +MissionScreen.propTypes = { + history: PropTypes.object.isRequired, + appPath: PropTypes.string, + missionComplete: PropTypes.bool.isRequired, + missionStatus: PropTypes.string.isRequired, + vehicleStatus: PropTypes.string, + timeLeft: PropTypes.number, + price: PropTypes.number, + approveCompletedMission: PropTypes.func.isRequired, + confirmDroneDocking: PropTypes.func.isRequired, + completeChargingMission: PropTypes.func.isRequired, +}; + +export default MissionScreen; diff --git a/src/components/drone_charging/OrderScreen.jsx b/src/components/drone_charging/OrderScreen.jsx new file mode 100644 index 0000000..bb6c4d9 --- /dev/null +++ b/src/components/drone_charging/OrderScreen.jsx @@ -0,0 +1,234 @@ +import React, {Component} from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import arrow from '../../images/arrow-left.svg'; +import Geosuggest from 'react-geosuggest'; +import Slider from 'react-rangeslider'; +import 'react-rangeslider/lib/index.css'; +import '../OrderScreen.css'; +import x_button from '../../images/x-button.svg'; + + +class OrderScreen extends Component { + constructor(props) { + super(props); + this.updateStoreFromForm = this.updateStoreFromForm.bind(this); + this.handleSearchRadiusChange = this.handleSearchRadiusChange.bind(this); + this.submitForm = this.submitForm.bind(this); + this.cancelForm = this.cancelForm.bind(this); + this.createOrderDetailsObject = this.createOrderDetailsObject.bind(this); + + this.state = { + searchRadiusValue: 2 + }; + } + + handleSearchRadiusChange(value) { + this.setState({ + searchRadiusValue: value + }); + } + + componentDidMount() { + this.props.onMount(); + } + + UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.registration_step === 'register_fulfilled') { + this.submitForm(); + } + } + + createOrderDetailsObject() { + const {droneLocation} = this.state; + return { + droneLocation: { + address: droneLocation.description, + lat: droneLocation.location.lat, + long: droneLocation.location.lng + }, + droneType: this.droneTypeNode.value || undefined, + currentCharge: this.currentChargeNode.value || undefined, + chargingVelocity: this.chargingVelocityNode.value || undefined, + searchRadius: this.state.searchRadiusValue || undefined, + need_type: this.props.needType + }; + } + + updateStoreFromForm(detailOverride = {}) { + const details = this.createOrderDetailsObject(); + this.props.updateOrderDetails({...details, ...detailOverride}); + } + + cancelForm() { + this.updateStoreFromForm({stage: 'draft', droneLocation: null, currentCharge: null}); + } + + submitForm() { + this.updateStoreFromForm({stage: 'searching', registration_step: 'registered'}); + let needDetails = this.createOrderDetailsObject(); + this.props.createNeed(needDetails); + this.props.history.push(this.props.appPath + '/searching'); + } + + dismissDialog() { + this.props.closeWalletDialog(); + } + + verifyIdentity() { + this.props.verifyIdentity(); + } + + registerIdentity() { + this.props.registerIdentity(); + } + + render() { + let showSignInToWalletDialog = this.props.registration_step === 'unlock_wallet'; + const signInToWalletDialog = ( +
+
+
+
+

Please Sign in To A Wallet

+

It seems that you are not signed in to
+ an existing wallet in your browser.
+ Please sign in, or create a new wallet.

+ +
+
+
); + + let showRegisterDavIdDialog = this.props.registration_step === 'register_id'; + const registerDavIdDialog = ( +
+
+
+
+
+ close button +
+

Missing DAV ID

+

This wallet is not connected to a DAV ID

+ + + Note: This is an Ethereum transaction that will
+ cost you some Gas +
+
+
+
); + + return ( +
+ + Back + +

Find Charging Station

+
+ + this.setState({droneLocation: undefined}) + } + onSuggestSelect={ + geo => { + if (geo) { + this.setState({droneLocation: geo}); + } + } + } + /> +
+ +
+ + +
+ +
+ + +
+
+ + { + this.currentChargeNode = node; + }} + style={{maxWidth: '15%', display: 'inline-block', marginRight: '10px'}} + />% +
+
+ + +
+ + {showSignInToWalletDialog === false ? (
) : signInToWalletDialog} + {showRegisterDavIdDialog === false ? (
) : registerDavIdDialog} +
+ ); + } +} + +OrderScreen.propTypes = { + history: PropTypes.object.isRequired, + appPath: PropTypes.string, + needType: PropTypes.string, + registration_step: PropTypes.string.isRequired, + updateOrderDetails: PropTypes.func.isRequired, + createNeed: PropTypes.func.isRequired, + onMount: PropTypes.func.isRequired, + verifyIdentity: PropTypes.func.isRequired, + registerIdentity: PropTypes.func.isRequired, + closeWalletDialog: PropTypes.func.isRequired, +}; + +export default OrderScreen; diff --git a/src/components/drone_charging/SearchingScreen.jsx b/src/components/drone_charging/SearchingScreen.jsx new file mode 100644 index 0000000..e015f97 --- /dev/null +++ b/src/components/drone_charging/SearchingScreen.jsx @@ -0,0 +1,231 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import MapItemBidPreview from '../MapItemBidPreview.jsx'; +import MapItemCard from '../MapItemCard.jsx'; +import UserCardContainer from '../../containers/UserCardContainer.jsx'; +import '../SearchingScreen.css'; +import radar from '../../images/radar.png'; +import ChargingStationBid from './ChargingStationBid.jsx'; +import ChargingBidSelectionHeader from './ChargingBidSelectionHeader.jsx'; +import Modal from '../modal/Modal.jsx'; + +class SearchingScreen extends Component { + constructor(props) { + super(props); + + this.state = { + selectedSortingOption: 'Best match', + sortedBids: [] + }; + + this.handleSortingOptionChange = this.handleSortingOptionChange.bind(this); + this.returnSortedBids = this.returnSortedBids.bind(this); + } + + componentDidUpdate(prevProps) { + if (this.props.stage === 'signing' && prevProps.stage !== 'signing') { + if (this.props.mission) { + setTimeout(() => { + this.props.startChargingMission(this.props.mission); + }, 6000); + } + this.screenNode.scrollTop = 0; + } + + if (this.props.missionStatus === 'charger_waiting' && prevProps.stage === 'signing') { + this.props.history.push(this.props.appPath+'/mission'); + } + + if (this.props.stage === 'choosing' && prevProps.stage !== 'choosing') { + //run initial bid sort when bids have been received + if (this.props.bids.length) { + this.handleSortingOptionChange(this.state.selectedSortingOption); + } else { + this.setState({showModal: true}); + } + } + } + + // This function is called from ChargingBidSelectionHeader when a + // sorting option is chosen. + handleSortingOptionChange(option) { + this.setState({ + selectedSortingOption: option, + sortedBids: this.returnSortedBids(option) + }); + } + + returnSortedBids(option) { + /* eslint-disable indent */ + + switch (option) { + case 'Best match': { + // sort on distance, if bids have similar distance show + // the lowest price first + return this.props.bids.sort((a, b) => { + let distanceA = a.distance; + let distanceB = b.distance; + + if (distanceA < distanceB) { + return -1; + } else if (distanceA > distanceB) { + return 1; + } else { + //distance is equal - compare by price + return parseFloat(a.price) - parseFloat(b.price); + } + }); + } + case 'Shortest Distance': { + //sort on 'distance' + return this.props.bids.sort( + (a, b) => parseFloat(a.distance) - parseFloat(b.distance) + ); + } + case 'Highest charging velocity': { + //sort on 'max_charging_velocity' + return this.props.bids.sort( + (a, b) => + parseFloat(b.charger.max_charging_velocity) - parseFloat(a.charger.max_charging_velocity) + ); + } + case 'Lowest cost': { + //sort on 'price' + return this.props.bids.sort( + (a, b) => parseFloat(a.price) - parseFloat(b.price) + ); + } + default: + return this.props.bids; + } + /* eslint-enable indent */ + } + + render() { + const { + bids, + chargers, + chargerOnMission, + stage, + cancelSearch, + chooseBid, + missionId + } = this.props; + + let screenClassNames = ['screen']; + if (stage === 'choosing') screenClassNames.push('screen--stage-choosing'); + if (stage === 'signing') screenClassNames.push('screen--stage-signing'); + + return ( +
{ + this.screenNode = node; + }} + > + {stage === 'searching' && ( +
+

Matching you with charging stations

+ + cancel + + +
+ {bids.map( + bid => + chargers[bid.captain_id] && ( + + ) + )} +
+
+ )} + +
+ {stage === 'choosing' && ( + + )} + {this.state.sortedBids.map( + bid => + chargers[bid.captain_id] && ( + + ) + )} +
+ +
+ {stage === 'signing' && + chargerOnMission && ( +
+
+

Initiating DAV Transaction

+

Signing secure smart contract between:

+ +
+ Signing smart contract +
+ +
+
+ )} +
+ { + this.props.history.push('/'); + this.setState({showModal: false}); + } + } + > + We couldn’t find any provider for the requested service.
+ Please try again later, or try refining your search. +
+
+ ); + } +} + +SearchingScreen.propTypes = { + chargers: PropTypes.object.isRequired, + chargerOnMission: PropTypes.object, + history: PropTypes.object, + missionId: PropTypes.string, + mission: PropTypes.object, + missionStatus: PropTypes.string, + bids: PropTypes.array.isRequired, + stage: PropTypes.string.isRequired, + appPath: PropTypes.string.isRequired, + cancelSearch: PropTypes.func.isRequired, + chooseBid: PropTypes.func.isRequired, + startChargingMission: PropTypes.func.isRequired +}; + +export default SearchingScreen; diff --git a/src/components/drone_simulation/MainScreen.jsx b/src/components/drone_simulation/MainScreen.jsx new file mode 100644 index 0000000..4517e3b --- /dev/null +++ b/src/components/drone_simulation/MainScreen.jsx @@ -0,0 +1,40 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import '../MainScreen.css'; +import logoMissions from '../../images/logo_missions.svg'; +import logoMooving from '../../images/logo_mooving.svg'; + +const logo = (domain => { + switch (domain) { + default: + case 'missions': + return logoMissions; + case 'mooving': + return logoMooving; + } +})(process.env.DOMAIN); + +class MainScreen extends Component { + componentDidMount() { + this.props.onMount(); + } + render() { + return ( +
+ + + Order Pickup + +
+ ); + } +} + +MainScreen.propTypes = { + onMount: PropTypes.func.isRequired +}; + +export default MainScreen; diff --git a/src/components/drone_simulation/OrderScreen.jsx b/src/components/drone_simulation/OrderScreen.jsx new file mode 100644 index 0000000..a73277c --- /dev/null +++ b/src/components/drone_simulation/OrderScreen.jsx @@ -0,0 +1,238 @@ +import React, {Component} from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import arrow from '../../images/arrow-left.svg'; +import Geosuggest from 'react-geosuggest'; +import 'react-rangeslider/lib/index.css'; +import '../OrderScreen.css'; +import x_button from '../../images/x-button.svg'; +import IconSelector from '../IconSelector.jsx'; +import getConfig from '../../config'; +import {packageSizeOptions} from '../../lib/utils'; + +class OrderScreen extends Component { + constructor(props) { + super(props); + this.updateStoreFromForm = this.updateStoreFromForm.bind(this); + this.submitForm = this.submitForm.bind(this); + this.cancelForm = this.cancelForm.bind(this); + this.createOrderDetailsObject = this.createOrderDetailsObject.bind(this); + + this.state = { + packageSize: getConfig('default_package_size'), + pickup: {location: {lat: 32.0750224, lng: 34.77493950000007}}, + dropoff: {lat: 32.06299430000001, lng: 34.76920629999995} + }; + + // Options should be read from some kind of configuration + // but putting it here for now + this.packageSizeOptions = packageSizeOptions; + + // Reference to a method that toggles the currently selected + // package size option on / off. + this.selectPackageSize = this.selectPackageSize.bind(this); + } + + componentDidMount() { + this.props.onMount(); + } + + UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.registration_step === 'register_fulfilled') { + this.submitForm(); + } + } + + createOrderDetailsObject() { + const {pickup, dropoff, packageSize} = this.state; + return { + pickup: pickup ? {address: pickup.description, lat: pickup.location.lat, long: pickup.location.lng} : undefined, + dropoff: dropoff ? { lat: dropoff.lat, long: dropoff.lng} : undefined, + size: packageSize || undefined, + weight: this.weightNode.value || undefined, + need_type: this.props.needType + }; + } + + updateStoreFromForm(detailOverride = {}) { + const details = this.createOrderDetailsObject(); + this.props.updateOrderDetails({...details, ...detailOverride}); + } + + cancelForm() { + this.updateStoreFromForm({stage: 'draft', pickup: null, dropoff: null}); + } + + submitForm() { + this.updateStoreFromForm({stage: 'searching', registration_step: 'registered'}); + let needDetails = this.createOrderDetailsObject(); + this.props.createNeed(needDetails); + this.props.history.push(this.props.appPath + '/searching'); + } + + selectPackageSize(size) { + this.setState({ + packageSize: this.state.packageSize !== size ? size : undefined + }); + } + + getSizeContainer() { + } + + dismissDialog() { + this.props.closeWalletDialog(); + } + + verifyIdentity() { + this.props.verifyIdentity(); + } + + registerIdentity() { + this.props.registerIdentity(); + } + + render() { + const {weight} = this.props; // size + let showSignInToWalletDialog = this.props.registration_step === 'unlock_wallet'; + const signInToWalletDialog = ( +
+
+
+
+

Please Sign in To A Wallet

+

It seems that you are not signed in to
+ an existing wallet in your browser.
+ Please sign in, or create a new wallet.

+ +
+
+
); + + let showRegisterDavIdDialog = this.props.registration_step === 'register_id'; + const registerDavIdDialog = ( +
+
+
+
+
+ close button +
+

Missing DAV ID

+

This wallet is not connected to a DAV ID

+ + + Note: This is an Ethereum transaction that will
+ cost you some Gas +
+
+
+
); + + return ( +
+ + Back + +

Order Pickup

+
+ + this.setState({pickup: undefined}) + } + onSuggestSelect={ + geo => { + if (geo) { + this.setState({pickup: geo}); + } + } + } + /> +
+
+ + this.setState({dropoff: undefined}) + } + onSuggestSelect={ + geo => { + if (geo) { + this.setState({dropoff: geo.location}); + } + } + } + /> +
+ +
+ + +
+ +
+ + +
+ + {showSignInToWalletDialog === false ? (
) : signInToWalletDialog} + {showRegisterDavIdDialog === false ? (
) : registerDavIdDialog} +
+ ); + } +} + +OrderScreen.propTypes = { + history: PropTypes.object.isRequired, + appPath: PropTypes.string, + needType: PropTypes.string, + userCoords: PropTypes.object, + defaultDropoff: PropTypes.object, + pickup: PropTypes.object, + dropoff: PropTypes.object, + pickup_at: PropTypes.string, + size: PropTypes.string, + weight: PropTypes.string, + registration_step: PropTypes.string.isRequired, + fetching: PropTypes.bool.isRequired, + updateOrderDetails: PropTypes.func.isRequired, + createNeed: PropTypes.func.isRequired, + onMount: PropTypes.func.isRequired, + verifyIdentity: PropTypes.func.isRequired, + registerIdentity: PropTypes.func.isRequired, + closeWalletDialog: PropTypes.func.isRequired, +}; + +export default OrderScreen; diff --git a/src/components/modal/Modal.css b/src/components/modal/Modal.css new file mode 100644 index 0000000..afe6137 --- /dev/null +++ b/src/components/modal/Modal.css @@ -0,0 +1,48 @@ +.curtain { + position: fixed; + z-index: 901; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: #111111; + opacity: 0.7; +} + +.dav-modal { + position: fixed; + z-index: 902; + transform: translateX(-50%); + top: 25%; + left: 50%; + border-radius: 5px; + max-width: 448px; + width: 92%; + text-align: center; + font-size: 16px; + background-color: white; + opacity: 1; + padding: 20px; +} + +.dav-modal .button-container { + margin-bottom: 12px; +} + + +.dav-modal .med-button { + padding: 8px 32px; + font-size: 16px; + font-weight: 500; +} + +.dav-modal .modal-content { + margin-bottom: 32px; +} + +.dav-modal h3 { + margin-bottom: 12px; + font-size: 20px; + font-weight: 500; + +} \ No newline at end of file diff --git a/src/components/modal/Modal.jsx b/src/components/modal/Modal.jsx new file mode 100644 index 0000000..5cb6499 --- /dev/null +++ b/src/components/modal/Modal.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import './Modal.css'; + +const Modal = ({show, title, buttonText, onButtonClick, children}) => { + return show ? ( +
+
+
+
+

{title}

+ { children.map(child => child) } +
+
+ { buttonText } +
+
+
+ ) : ''; +}; + +Modal.propTypes = { + show: PropTypes.bool, + title: PropTypes.string, + buttonText: PropTypes.string, + onButtonClick: PropTypes.func, + children: PropTypes.array +}; + +export default Modal; diff --git a/src/components/route_plan/MainScreen.jsx b/src/components/route_plan/MainScreen.jsx new file mode 100644 index 0000000..c5e1f17 --- /dev/null +++ b/src/components/route_plan/MainScreen.jsx @@ -0,0 +1,63 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import '../MainScreen.css'; +import { getUserLocationPlace } from '../../lib/map'; +import logoMissions from '../../images/logo_missions.svg'; +import logoMooving from '../../images/logo_mooving.svg'; + +const logo = (domain => { + switch (domain) { + default: + case 'missions': + return logoMissions; + case 'mooving': + return logoMooving; + } +})(process.env.DOMAIN); + +class MainScreen extends Component { + + constructor () { + super(); + this.state = { + locationPlace: null + }; + } + + componentDidMount() { + this.props.onMount(); + getUserLocationPlace().then((res) => { + this.setState({locationPlace: res}); + }).catch((res) => { + console.log(res); + }); + } + render() { + return ( +
+ + { + this.state.locationPlace ? + (
+

Your Location

+

{this.state.locationPlace}

+
) : + (
) + } + ORDER ROUTE PLAN +
+ ); + } +} + +MainScreen.propTypes = { + onMount: PropTypes.func.isRequired, +}; + + +export default MainScreen; diff --git a/src/components/route_plan/MissionScreen.jsx b/src/components/route_plan/MissionScreen.jsx new file mode 100644 index 0000000..3328267 --- /dev/null +++ b/src/components/route_plan/MissionScreen.jsx @@ -0,0 +1,141 @@ +import React, {Component} from 'react'; +import '../MissionScreen.css'; +import gpsPointIcon from '../../images/gps-point.svg'; +import timeIcon from '../../images/time.svg'; +import currencyImage from '../../images/dav.svg'; +import PropTypes from 'prop-types'; +import {humanReadableVehicleStatus, downloadAsJsonFile} from '../../lib/utils'; + +class MissionScreen extends Component { + + constructor(props) { + super(props); + this.state = { + dialogDismissed: false, + showDownloadDialog: false + }; + } + + UNSAFE_componentWillReceiveProps(nextProps) { + if(nextProps.missionStatus === 'completed') { + this.props.history.push(this.props.appPath); + } + } + + approveCompletedMission() { + this.props.approveCompletedMission(); + } + + showPlanRequestedDialog() { + return this.state.dialogDismissed === false ? ( +
+
+
+
+

Route Plan Is In Progress

+

Once your route plan is ready you will be
+ notified via the app

+
+ Route Plan +
+ +
+
+
) : (
); + } + + dismissRequestedDialog() { + this.setState({ dialogDismissed: true }); + } + + dismissDownloadDialog() { + const geoJson = this.props.route; + downloadAsJsonFile(geoJson); + this.props.completedMission(); + } + + render() { + switch(this.props.missionStatus) { + case 'confirmed': { + return ( +
+
+
+
+

Your Route Plan is Ready

+

Click the ‘Download’ button below to
+ view the full details of your route plan.

+ +
+
+
); + } + case 'in_mission': { + if(this.props.vehicleStatus === 'ready') { + return ( +
+
+
+

Route Plan is Ready!

+

Press ‘Confirm’ to view route instructions

+

Cost for delivery:

+

{(this.props.price/1000000000000000000).toFixed(2)} DAV

+ +
+
+
+ ); + } + return this.showPlanRequestedDialog(); + } + default: { + return ( +
+
+
+ GPS Point Icon +
+
+

Current State:

+

{humanReadableVehicleStatus[this.props.vehicleStatus]}

+
+
+
+
+ Time Icon +
+
+

Estimated time to {this.props.leg} location:

+

{parseFloat(this.props.timeLeftInLeg) > 1 ? `${this.props.timeLeftInLeg} minutes` : 'less than a minute'}

+
+
+
+ ); + } + } + } +} + +MissionScreen.propTypes = { + history: PropTypes.object.isRequired, + route: PropTypes.object, + appPath: PropTypes.string, + vehicleStatus: PropTypes.string, + missionStatus: PropTypes.string.isRequired, + leg: PropTypes.string, + timeLeftInLeg: PropTypes.number, + price: PropTypes.number, + approveCompletedMission: PropTypes.func.isRequired, + completedMission: PropTypes.func.isRequired, +}; + +export default MissionScreen; diff --git a/src/components/route_plan/OrderScreen.css b/src/components/route_plan/OrderScreen.css new file mode 100644 index 0000000..ca8153b --- /dev/null +++ b/src/components/route_plan/OrderScreen.css @@ -0,0 +1,113 @@ +#order-screen { + display: flex; + flex-direction: column; + justify-content: flex-start; + background-color: #fff; + padding: 10px 15px; +} + +#order-screen-content { + margin-top: 30px; +} +#bottom-button-container { + position: absolute; + bottom: 20px; + display: flex; + flex-direction: row; + justify-content: space-around; + left: 0; + right: 0; +} +a.form-submit-button { + margin: 0 auto 10px; +} + +.form-field { + margin-bottom: 20px; +} + +.geosuggest { + position: relative; + text-align: left; +} +.geosuggest__input { + width: 100%; + padding: .5em 1em; +} + +.geosuggest__suggests { + position: absolute; + top: 100%; + left: 0; + right: 0; + max-height: 25em; + padding: 0; + background: #fff; + border: 1px solid; + border-top-width: 0; + overflow-x: hidden; + overflow-y: auto; + list-style: none; + z-index: 5; + -webkit-transition: max-height 0.2s, border 0.2s; + transition: max-height 0.2s, border 0.2s; +} +.geosuggest__suggests--hidden { + max-height: 0; + overflow: hidden; + border-width: 0; +} + +/** + * A geosuggest item + */ +.geosuggest__item { + padding: .5em .65em; + cursor: pointer; +} +.geosuggest__item:hover, +.geosuggest__item:focus { + background: #f5f5f5; +} +.geosuggest__item--active { + background-color: #B8BCFF; + color: #fff; +} +.geosuggest__item--active:hover, +.geosuggest__item--active:focus { + background: #ccc; +} +.geosuggest__item__matched-text { + font-weight: bold; +} + +.swallet-dialog__close-button { + position: absolute; + top: 10px; + right: 19px; +} + +.wallet-dialog { + text-align: center; +} + +.wallet-dialog p { + text-align:center; + margin: 25px; +} + +.wallet-dialog h1 { + font-size: 20px; +} + +.wallet-dialog span { + display: block; + font-size: 12px; + margin: 10px; +} + +.wallet-dialog button.big-button { + font-weight: normal; + padding: 15px 80px; + margin: auto; +} \ No newline at end of file diff --git a/src/components/route_plan/OrderScreen.jsx b/src/components/route_plan/OrderScreen.jsx new file mode 100644 index 0000000..56ba4ff --- /dev/null +++ b/src/components/route_plan/OrderScreen.jsx @@ -0,0 +1,246 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import './OrderScreen.css'; +import arrow from '../../images/arrow-left.svg'; +import x_button from '../../images/x-button.svg'; +import { getUserLocation } from '../../lib/map'; + +class OrderScreen extends Component { + constructor(props) { + super(props); + this.updateStoreFromForm = this.updateStoreFromForm.bind(this); + this.submitForm = this.submitForm.bind(this); + this.cancelForm = this.cancelForm.bind(this); + this.createOrderDetailsObject = this.createOrderDetailsObject.bind(this); + + this.state = { + startCoordinates: '', + endCoordinates: '', + }; + } + + componentDidMount() { + this.props.onMount(); + getUserLocation().then((res) => { + this.setState({ + startCoordinates: `${res.coords.latitude}, ${res.coords.longitude}`, + endCoordinates: `${res.coords.latitude - 0.03}, ${res.coords.longitude + 0.05}` + }); + }).catch((res) => { + console.log(res); + }); + } + + UNSAFE_componentWillReceiveProps(nextProps) { + if(nextProps.registration_step === 'register_fulfilled') { + this.submitForm(); + } + } + + createOrderDetailsObject() { + const [ startLat, startLong ] = this.parseCoordinates(this.state.startCoordinates); + const [ endLat, endLong ] = this.parseCoordinates(this.state.endCoordinates); + return { + startPosition: { + lat: startLat, + long: startLong + }, + endPosition: { + lat: endLat, + long: endLong + }, + flightHeight: this.flightHeight.value || 400, + heightUnits: this.heightUnits.value || 'meters', + need_type: this.props.needType + }; + } + + updateStoreFromForm(detailOverride = {}) { + const details = this.createOrderDetailsObject(); + this.props.updateOrderDetails({ ...details, ...detailOverride }); + } + + cancelForm() { + this.updateStoreFromForm({ stage: 'draft', droneLocation: null, currentCharge: null }); + } + + submitForm() { + this.updateStoreFromForm({ stage: 'searching', registration_step: 'registered' }); + let needDetails = this.createOrderDetailsObject(); + this.props.createNeed(needDetails); + this.props.history.push(this.props.appPath+'/searching'); + } + + dismissDialog() { + this.props.closeWalletDialog(); + } + + verifyIdentity() { + this.props.verifyIdentity(); + } + + registerIdentity() { + this.props.registerIdentity(); + } + + parseCoordinates(value) { + let coordinates = []; + if(value) { + let parts = value.split(','); + if(parts.length === 2) { + for(let part of parts) { + if(/^(-?[\d.]+)$/.test(part.trim()) === true) { + coordinates.push(parseFloat(part)); + } else { + throw('Failed to parse coordinate'); + } + } + } else { + throw('Coordinates have to come in pairs'); + } + } else { + throw('Coordinates cannot be null'); + } + return coordinates; + } + + areValidCoordinates(value) { + try { + this.parseCoordinates(value); + return true; + } catch(err){ + return false; + } + } + + isValidForm() { + // console.log(this.state.startCoordinates); + return this.areValidCoordinates(this.state.startCoordinates) && this.areValidCoordinates(this.state.endCoordinates); + } + + render() { + let showSignInToWalletDialog = this.props.registration_step === 'unlock_wallet'; + const signInToWalletDialog = ( +
+
+
+
+

Please Sign in To A Wallet

+

It seems that you are not signed in to
+ an existing wallet in your browser.
+ Please sign in, or create a new wallet.

+ +
+
+
); + + let showRegisterDavIdDialog = this.props.registration_step === 'register_id'; + const registerDavIdDialog = ( +
+
+
+
+
+ close button +
+

Missing DAV ID

+

This wallet is not connected to a DAV ID

+ + + Note: This is an Ethereum transaction that will
+ cost you some Gas +
+
+
+
); + + return ( +
+ + Back + +

Order Route Plan

+
+
+ + this.setState({ startCoordinates: event.target.value }) + } + /> +
+ +
+ + this.setState({ endCoordinates: event.target.value }) + } + /> +
+ +
+ + { + this.flightHeight = node; + }} + style={{maxWidth: '30%', display: 'inline-block', marginRight: '10px'}} + /> + +
+
+
+
+ Find Routes +
+
+ { showSignInToWalletDialog === false ? (
) : signInToWalletDialog } + { showRegisterDavIdDialog === false ? (
) : registerDavIdDialog} +
+ ); + } +} + +OrderScreen.propTypes = { + history: PropTypes.object.isRequired, + appPath: PropTypes.string, + needType: PropTypes.string, + registration_step: PropTypes.string.isRequired, + updateOrderDetails: PropTypes.func.isRequired, + createNeed: PropTypes.func.isRequired, + onMount: PropTypes.func.isRequired, + verifyIdentity: PropTypes.func.isRequired, + registerIdentity: PropTypes.func.isRequired, + closeWalletDialog: PropTypes.func.isRequired, +}; + +export default OrderScreen; diff --git a/src/components/route_plan/RoutePlanBid.jsx b/src/components/route_plan/RoutePlanBid.jsx new file mode 100644 index 0000000..055f2c0 --- /dev/null +++ b/src/components/route_plan/RoutePlanBid.jsx @@ -0,0 +1,38 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import MapItemCard from '../MapItemCard.jsx'; +import currencyImage from '../../images/dav.svg'; + +const RoutePlanBid = ({bid, routeProvider, shown, chooseBid}) => { + const clickChooseBid = (e) => { + e.preventDefault(); + chooseBid(bid.id, bid.captain_id, bid.price, bid.token_amount); + }; + + let classNames = ['vehicle-bid-card']; + if (!shown) { + classNames.push('vehicle-bid-card--hidden'); + } + return ( +
+ +
+
ETA:
+
{bid.ETA} hours
+
Cost for route plan:
+
{parseFloat(bid.price/1000000000000000000).toFixed(4)} ETH
+
Token amount:
+
{parseFloat(bid.token_amount/1000000000000000000).toFixed(2)}DAV
+
+
+ ); +}; + +RoutePlanBid.propTypes = { + bid: PropTypes.object.isRequired, + routeProvider: PropTypes.object.isRequired, + shown: PropTypes.bool.isRequired, + chooseBid: PropTypes.func.isRequired, +}; + +export default RoutePlanBid; diff --git a/src/components/route_plan/RoutePlanBidSelectionHeader.jsx b/src/components/route_plan/RoutePlanBidSelectionHeader.jsx new file mode 100644 index 0000000..315baaa --- /dev/null +++ b/src/components/route_plan/RoutePlanBidSelectionHeader.jsx @@ -0,0 +1,183 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import '../BidSelectionHeader.css'; +import sort_button from '../../images/sort-button.svg'; +import arrow from '../../images/arrow-left.svg'; +import x_button from '../../images/x-button.svg'; +import check from '../../images/check.svg'; + +const CheckMark = props => ( + checkmark +); + +CheckMark.propTypes = { + hide: PropTypes.bool +}; + +class ChargingBidSelectionHeader extends Component { + constructor(props) { + super(props); + + this.sortOptions = { + bestMatch: 'Best match', + shortestDistance: 'Shortest distance', + highestChargingVelocity: 'Highest charging velocity', + lowestCost: 'Lowest cost' + }; + + this.state = { + sortOptionsOpen: false, + sortOptionSelected: this.sortOptions.bestMatch + }; + + this.handleSortButtonClick = this.handleSortButtonClick.bind(this); + this.handleCloseButtonClick = this.handleCloseButtonClick.bind(this); + this.handleSortOptionClick = this.handleSortOptionClick.bind(this); + } + + handleSortButtonClick() { + this.setState({ sortOptionsOpen: !this.state.sortOptionsOpen }); + } + + handleCloseButtonClick() { + this.setState({ sortOptionsOpen: !this.state.sortOptionsOpen }); + } + + handleSortOptionClick(e) { + //call function in SearchingScreen, passing in + //selected sort option + this.props.handleSortingOptionChange(e.target.title); + + this.setState({ + sortOptionSelected: e.target.title, + sortOptionsOpen: !this.state.sortOptionsOpen + }); + } + + render() { + let { sortOptionsOpen, sortOptionSelected } = this.state; + return ( +
+
+
+ close button +
+
Sort by:
+
    +
  • + Best match + +
  • +
  • + Fastest pickup + +
  • +
  • + Fastest delivery + +
  • +
  • + Lowest cost + +
  • +
+
+
+ + Back + + + {/*
Bid Selection
*/} +
Bid Selection
+
+ sort button +
+
+
+ ); + } +} + +ChargingBidSelectionHeader.propTypes = { + chargers: PropTypes.object.isRequired, + chargerOnMission: PropTypes.object, + missionId: PropTypes.number, + bids: PropTypes.array.isRequired, + stage: PropTypes.string.isRequired, + cancelSearch: PropTypes.func.isRequired, + chooseBid: PropTypes.func.isRequired, + handleSortingOptionChange: PropTypes.func.isRequired +}; + +export default ChargingBidSelectionHeader; diff --git a/src/components/route_plan/SearchingScreen.jsx b/src/components/route_plan/SearchingScreen.jsx new file mode 100644 index 0000000..c529a37 --- /dev/null +++ b/src/components/route_plan/SearchingScreen.jsx @@ -0,0 +1,168 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from '../../containers/LinkContainer.jsx'; +import MapItemBidPreview from '../MapItemBidPreview.jsx'; +import MapItemCard from '../MapItemCard.jsx'; +import UserCardContainer from '../../containers/UserCardContainer.jsx'; +import '../SearchingScreen.css'; +import radar from '../../images/radar.png'; +import RoutePlanBid from './RoutePlanBid.jsx'; +import Modal from '../modal/Modal.jsx'; + +class SearchingScreen extends Component { + constructor(props) { + super(props); + + this.state = { + selectedSortingOption: 'Best match', + sortedBids: [] + }; + + this.handleSortingOptionChange = this.handleSortingOptionChange.bind(this); + this.returnSortedBids = this.returnSortedBids.bind(this); + } + + componentDidUpdate(prevProps) { + if (this.props.stage === 'signing' && prevProps.stage !== 'signing') { + this.screenNode.scrollTop = 0; + } + + if (this.props.stage === 'choosing' && prevProps.stage !== 'choosing') { + //run initial bid sort when bids have been received + if (this.props.bids.length) { + this.handleSortingOptionChange(this.state.selectedSortingOption); + } else { + this.setState({showModal: true}); + } + } + } + + // This function is called from ChargingBidSelectionHeader when a + // sorting option is chosen. + handleSortingOptionChange(option) { + this.setState({ + selectedSortingOption: option, + sortedBids: this.returnSortedBids() + }); + } + + returnSortedBids() { + return this.props.bids; + } + + render() { + const { + bids, + captains, + captainOnMission, + stage, + cancelSearch, + chooseBid, + missionId + } = this.props; + + let screenClassNames = ['screen']; + if (stage === 'choosing') screenClassNames.push('screen--stage-choosing'); + if (stage === 'signing') screenClassNames.push('screen--stage-signing'); + + return ( +
{ + this.screenNode = node; + }} + > + {stage === 'searching' && ( +
+

Matching you with flight route providers...

+ + cancel + + +
+ {bids.map( + bid => + captains[bid.captain_id] && ( + + ) + )} +
+
+ )} + +
+ {this.state.sortedBids.map( + bid => + captains[bid.captain_id] && ( + + ) + )} +
+ +
+ {stage === 'signing' && + captainOnMission && ( +
+
+

Initiating DAV Transaction

+

Signing secure smart contract between:

+ +
+ Signing smart contract +
+ +
+
+ )} +
+ { + this.props.history.push('/'); + this.setState({showModal: false}); + } + } + > + We couldn’t find any provider for the requested service.
+ Please try again later, or try refining your search. +
+
+ ); + } +} + +SearchingScreen.propTypes = { + captains: PropTypes.object.isRequired, + captainOnMission: PropTypes.object, + missionId: PropTypes.string, + bids: PropTypes.array.isRequired, + stage: PropTypes.string.isRequired, + cancelSearch: PropTypes.func.isRequired, + chooseBid: PropTypes.func.isRequired, + history: PropTypes.object.isRequired +}; + +export default SearchingScreen; diff --git a/src/config/needTypes.js b/src/config/needTypes.js new file mode 100644 index 0000000..4679889 --- /dev/null +++ b/src/config/needTypes.js @@ -0,0 +1,10 @@ +export const NEED_TYPES = { + DRONE_DELIVERY: 'drone_delivery', + CAR_PARKING: 'car_parking', + CARGO_INSURANCE: 'cargo_insurance', + DRONE_CHARGING: 'drone_charging', + EV_CHARGING: 'ev_charging', + RIDE_HAILING: 'ride_hailing', + VEHICLE_LOCATING: 'vehicle_locating', + ROUTE_PLAN: 'route_plan' +}; diff --git a/src/containers/MainScreenContainer.jsx b/src/containers/MainScreenContainer.jsx index e86b749..dc2fadd 100644 --- a/src/containers/MainScreenContainer.jsx +++ b/src/containers/MainScreenContainer.jsx @@ -1,12 +1,32 @@ -import { connect } from 'react-redux'; -import MainScreen from '../components/MainScreen.jsx'; -import { resetOrderDetails } from '../actions'; +import {connect} from 'react-redux'; +import {resetOrderDetails} from '../actions'; +import {getChargerArray} from '../reducers/chargers'; + +let Components = {}; + +Components['ChargingMainScreen'] = require('../components/drone_charging/MainScreen.jsx').default; +Components['DeliverySimulationMainScreen'] = require('../components/drone_simulation/MainScreen.jsx').default; +Components['DeliveryMainScreen'] = require('../components/delivery_drones/MainScreen.jsx').default; +Components['RoutePlanMainScreen'] = require('../components/route_plan/MainScreen.jsx').default; + const mapDispatchToProps = (dispatch) => ({ onMount: () => dispatch(resetOrderDetails()), }); -export default connect( - () => ({}), - mapDispatchToProps -)(MainScreen); +const MainScreenContainer = (componentName) => { + let mapStateToProps = () => ({}); + if (componentName === 'ChargingMainScreen') { + mapStateToProps = (state) => { + return { + chargers: getChargerArray(state.chargers), + coords: state.map.coords + }; + }; + } + const MainScreen = Components[componentName]; + return connect(mapStateToProps, mapDispatchToProps)(MainScreen); +}; + + +export default MainScreenContainer; diff --git a/src/containers/MapContainer.jsx b/src/containers/MapContainer.jsx index 630787a..ab833a0 100644 --- a/src/containers/MapContainer.jsx +++ b/src/containers/MapContainer.jsx @@ -1,42 +1,68 @@ -import { connect } from 'react-redux'; -import { withRouter } from 'react-router-dom'; -import { getVehicleArray } from '../reducers/vehicles'; -import { getBidArray } from '../reducers/bids'; -import { updateMapCoords } from '../actions'; +import {connect} from 'react-redux'; +import {withRouter} from 'react-router-dom'; +import { getCaptainsArray, getCaptainOnMission } from '../reducers/captains'; +import {getBidArray} from '../reducers/bids'; +import {updateMapCoords,getSimulationDrones} from '../actions'; import Map from '../components/Map.jsx'; +import {NEED_TYPES} from '../config/needTypes'; const matchStateToProps = (state) => { - let vehicles = []; - // if we are looking at bids, only show vehicles with bids - if (['searching', 'choosing'].includes(state.order.stage)) { - getBidArray(state.bids).forEach( - bid => state.vehicles[bid.vehicle_id] && vehicles.push(state.vehicles[bid.vehicle_id]) - ); - } else { - vehicles = getVehicleArray(state.vehicles); - } + const appPath = state.app.path; + const needType = state.app.needType; let props = { - vehicles, orderStage: state.order.stage, pickup: state.order.pickup, - dropoff: state.order.dropoff + dropoff: state.order.dropoff, + droneLocation: state.order.droneLocation, + needType, + appPath }; - if (state.mission) { + + props.showRoutePath = false; + if (needType === NEED_TYPES.DRONE_CHARGING) { + props.mapItems = getRelevantMapItems('charger', state); + props.mapItemType = 'charger'; + } else { + props.mapItems = getRelevantMapItems('vehicle', state); + props.mapItemType = 'vehicle'; + } + + if (state.mission.status) { props.missionStatus = state.mission.status; - if (props.missionStatus === 'in_progress'){ - props.dropoff = {long: state.mission.dropoff_longitude, lat:state.mission.dropoff_latitude}; + if (props.missionStatus !== 'completed') { + props.dropoff = {long: state.mission.dropoff_longitude, lat: state.mission.dropoff_latitude}; props.pickup = {long: state.mission.pickup_longitude, lat: state.mission.pickup_latitude}; } } - props.appPath = state.app.path; + + props.vehicleOnMission = getCaptainOnMission(state); + return props; }; const mapDispatchToProps = (dispatch) => ({ - onMoveEnd: (coords) => dispatch(updateMapCoords({coords: coords})) + onMoveEnd: (coords) => { + dispatch(updateMapCoords({coords: coords})); + dispatch(getSimulationDrones()); + } }); + +const getRelevantMapItems = (mapItemType, state) => { + let mapItems = []; + // if we are looking at bids, only show vehicles with bids + if (['searching', 'choosing'].includes(state.order.stage)) { + getBidArray(state.bids).forEach( + bid => state.captains[bid.captain_id] && mapItems.push(state.captains[bid.captain_id]) + ); + } else { + mapItems = getCaptainsArray(state.captains); + } + return mapItems; +}; + export default connect( matchStateToProps, mapDispatchToProps )(withRouter(Map)); + diff --git a/src/containers/MapItemDetailsContainer.jsx b/src/containers/MapItemDetailsContainer.jsx new file mode 100644 index 0000000..4ba7f25 --- /dev/null +++ b/src/containers/MapItemDetailsContainer.jsx @@ -0,0 +1,10 @@ +import { connect } from 'react-redux'; +import MapItemDetails from '../components/MapItemDetails.jsx'; + +export default connect( + (state, ownProps) => { + return { + mapItem: state.captains[ownProps.id] + }; + } +)(MapItemDetails); diff --git a/src/containers/VehicleDetailsScreenContainer.jsx b/src/containers/MapItemDetailsScreenContainer.jsx similarity index 57% rename from src/containers/VehicleDetailsScreenContainer.jsx rename to src/containers/MapItemDetailsScreenContainer.jsx index 85d8441..f12fd54 100644 --- a/src/containers/VehicleDetailsScreenContainer.jsx +++ b/src/containers/MapItemDetailsScreenContainer.jsx @@ -1,9 +1,9 @@ import { connect } from 'react-redux'; import { withRouter } from 'react-router-dom'; -import VehicleDetailsScreen from '../components/VehicleDetailsScreen.jsx'; +import MapItemDetailsScreen from '../components/MapItemDetailsScreen.jsx'; export default connect( () => ({}), -)(withRouter(VehicleDetailsScreen)); +)(withRouter(MapItemDetailsScreen)); diff --git a/src/containers/MissionContainer.jsx b/src/containers/MissionContainer.jsx index eeca1b4..56c48fb 100644 --- a/src/containers/MissionContainer.jsx +++ b/src/containers/MissionContainer.jsx @@ -1,44 +1,70 @@ import { connect } from 'react-redux'; -import MissionScreen from '../components/MissionScreen.jsx'; -import { getVehicleArray } from '../reducers/vehicles'; +import { withRouter } from 'react-router-dom'; +import { getCaptainOnMission } from '../reducers/captains'; +import { + approveCompletedMission, + updateMissionStatus +} from '../actions'; +import { NEED_TYPES } from '../config/needTypes'; + +let Components = { + 'DeliveryMissionScreen': require('../components/MissionScreen.jsx').default, + 'ChargingMissionScreen': require('../components/drone_charging/MissionScreen.jsx').default, + 'RoutePlanMissionScreen': require('../components/route_plan/MissionScreen.jsx').default +}; + +const mapDispatchToProps = (dispatch) => ({ + approveCompletedMission: () => dispatch(approveCompletedMission()), + completedMission: () => dispatch(updateMissionStatus('completed')), + confirmDroneDocking: () => dispatch(updateMissionStatus('docking_confirmation_received', 'docking_confirmation_received')), + completeChargingMission: () => dispatch(updateMissionStatus('ready', 'ready')), +}); const matchStateToProps = (state) => { - const vehicles = getVehicleArray(state.vehicles); + const needType = state.app.needType; + const props = {}; const mission = state.mission; - let props = {}; - if (vehicles[0] && vehicles[0].status) { - const leg = vehicles[0].status.split('_')[1]; - props.vehicleStatus = vehicles[0].status; - props.leg = leg; - let timeLeftInLeg; - switch (leg) { - case 'dropoff': { - const travellingDropoffAt = parseInt(mission.travelling_dropoff_at); - const timeToDropoff = parseInt(mission.time_to_dropoff); - timeLeftInLeg = (travellingDropoffAt + timeToDropoff - Date.now())/60000; - break; - } - case 'pickup': { - const vehicleSignedAt = parseInt(mission.vehicle_signed_at); - const timeToPickup = parseInt(mission.time_to_pickup); - timeLeftInLeg = (vehicleSignedAt + timeToPickup - Date.now())/60000; - break; - } + + const vehicleOnMission = getCaptainOnMission(state); + if(vehicleOnMission && vehicleOnMission.status) { + props.vehicleStatus = vehicleOnMission.status; + } + + if (needType === NEED_TYPES.DRONE_DELIVERY) { + if(props.vehicleStatus) { + props.leg = props.vehicleStatus.split('_')[1]; + let timeLeftInLeg; + switch (props.leg) { + case 'dropoff': { + const travellingDropoffAt = parseInt(mission.travelling_dropoff_at); + const timeToDropoff = parseInt(mission.time_to_dropoff); + timeLeftInLeg = (travellingDropoffAt + timeToDropoff - Date.now()) / 60000; + break; + } + case 'pickup': { + const vehicleSignedAt = parseInt(mission.vehicle_signed_at); + const timeToPickup = parseInt(mission.time_to_pickup); + timeLeftInLeg = (vehicleSignedAt + timeToPickup - Date.now()) / 60000; + break; + } + } + props.timeLeftInLeg = timeLeftInLeg ? parseInt(timeLeftInLeg.toFixed(0)) : 0; } - timeLeftInLeg = timeLeftInLeg ? parseInt(timeLeftInLeg.toFixed(0)) : 0; - props.timeLeftInLeg = timeLeftInLeg; } + props.missionStatus = mission.status; + props.price = parseFloat(mission.price); + props.appPath = state.app.path; props.missionComplete = mission.status === 'completed'; - - props.price = mission.price; + props.route = mission.gradd_payload; return props; }; - - -export default connect( - matchStateToProps, - () => ({}) -)(MissionScreen); +export default (componentName) => { + let MissionScreen = Components[componentName]; + return connect( + matchStateToProps, + mapDispatchToProps + )(withRouter(MissionScreen)); +}; diff --git a/src/containers/OrderScreenContainer.jsx b/src/containers/OrderScreenContainer.jsx deleted file mode 100644 index 313367e..0000000 --- a/src/containers/OrderScreenContainer.jsx +++ /dev/null @@ -1,26 +0,0 @@ -import { connect } from 'react-redux'; -import OrderScreen from '../components/OrderScreen.jsx'; -import { shiftCoords } from '../lib/utils'; -import { updateOrderDetails, createNeed } from '../actions'; - -const mapDispatchToProps = (dispatch) => ({ - updateOrderDetails: (details) => dispatch(updateOrderDetails(details)), - createNeed: (need) => dispatch(createNeed(need)), - onMount: () => dispatch(updateOrderDetails({ stage: 'draft' })), -}); - -export default connect( - (state) => { - const defaultDropoff = shiftCoords(state.map.coords); - return { - defaultDropoff, - userCoords: state.map.coords, - pickup: state.order.pickup, - dropoff: state.order.dropoff, - pickup_at: state.order.pickup_at, - size: state.order.size, - weight: state.order.weight, - }; - }, - mapDispatchToProps -)(OrderScreen); diff --git a/src/containers/SearchingScreenContainer.jsx b/src/containers/SearchingScreenContainer.jsx index eadf0e1..e4197f2 100644 --- a/src/containers/SearchingScreenContainer.jsx +++ b/src/containers/SearchingScreenContainer.jsx @@ -1,22 +1,50 @@ -import { connect } from 'react-redux'; -import { getBidArray } from '../reducers/bids'; -import { getVehicleOnMission } from '../reducers/vehicles'; -import SearchingScreen from '../components/SearchingScreen.jsx'; -import { resetOrderDetails, chooseBid } from '../actions'; -import { cancelNeed } from '../lib/api'; +import {connect} from 'react-redux'; +import {getBidArray} from '../reducers/bids'; +import { getCaptainOnMission } from '../reducers/captains'; +import {resetOrderDetails,chooseBid, startChargingMission} from '../actions'; +import {cancelNeed} from '../lib/dav'; +import {withRouter} from 'react-router-dom'; + +let Components = { + 'ChargingSearchingScreen': require('../components/drone_charging/SearchingScreen.jsx').default, + 'RoutePlanSearchingScreen': require('../components/route_plan/SearchingScreen.jsx').default, + 'DeliverySearchingScreen': require('../components/SearchingScreen.jsx').default +}; const mapDispatchToProps = (dispatch) => ({ cancelSearch: () => cancelNeed().then(dispatch(resetOrderDetails())), - chooseBid: (bidId) => dispatch(chooseBid(bidId)), + chooseBid: (bidId, captain_id, price, tocken_amount) => dispatch(chooseBid(bidId, captain_id, price, tocken_amount)), + startChargingMission: (mission) => dispatch(startChargingMission(mission)) }); -export default connect( - (state) => ({ - vehicles: state.vehicles, - bids: getBidArray(state.bids), - stage: state.order.stage, - vehicleOnMission: getVehicleOnMission(state), - missionId: state.mission.id, - }), - mapDispatchToProps -)(SearchingScreen); +const SearchingScreenContainer = (componentName) => { + const SearchingScreen = Components[componentName]; + const mapStateToProps = (state) => { + const props = { + bids: getBidArray(state.bids), + stage: state.order.stage, + missionId: state.mission.id, + mission: state.mission, + appPath: state.app.path + }; + + props.captains = state.captains; + props.captainOnMission = getCaptainOnMission(state); + props.missionStatus = state.mission.status; + if (componentName === 'ChargingSearchingScreen') { + props.chargers = props.captains; + props.chargerOnMission = props.captainOnMission; + } else if (componentName === 'DeliverySearchingScreen') { + props.vehicles = props.captains; + props.vehicleOnMission = props.captainOnMission; + } + return props; + }; + + return connect( + mapStateToProps, + mapDispatchToProps + )(withRouter(SearchingScreen)); +}; + +export default SearchingScreenContainer; diff --git a/src/containers/UserCardContainer.jsx b/src/containers/UserCardContainer.jsx index 2f2642c..c4f05ee 100644 --- a/src/containers/UserCardContainer.jsx +++ b/src/containers/UserCardContainer.jsx @@ -1,5 +1,5 @@ import { connect } from 'react-redux'; -import VehicleCard from '../components/VehicleCard.jsx'; +import MapItemCard from '../components/MapItemCard.jsx'; export default connect( (state) => ({ @@ -7,4 +7,4 @@ export default connect( icon: state.settings['user_icon'], model: 'You', }) -)(VehicleCard); +)(MapItemCard); diff --git a/src/containers/VehicleDetailsContainer.jsx b/src/containers/VehicleDetailsContainer.jsx deleted file mode 100644 index 386e2f7..0000000 --- a/src/containers/VehicleDetailsContainer.jsx +++ /dev/null @@ -1,8 +0,0 @@ -import { connect } from 'react-redux'; -import VehicleDetails from '../components/VehicleDetails.jsx'; - -export default connect( - (state, ownProps) => ({ - vehicle: state.vehicles[ownProps.vehicleUid] - }) -)(VehicleDetails); diff --git a/src/containers/delivery_drones/OrderScreenContainer.jsx b/src/containers/delivery_drones/OrderScreenContainer.jsx new file mode 100644 index 0000000..8cbde9e --- /dev/null +++ b/src/containers/delivery_drones/OrderScreenContainer.jsx @@ -0,0 +1,79 @@ +import { connect } from 'react-redux'; +import { withRouter } from 'react-router-dom'; +import { shiftCoords, packageSizeOptions } from '../../lib/utils'; +import { + updateOrderDetails, + verifyDavId, + registerDavId, + closeWalletDialog +} from '../../actions'; + +import { OrderScreen } from '../../components/delivery_drones/OrderScreen.jsx'; + +import { NEED_TYPES } from '../../config/needTypes.js'; +import { createAction } from 'redux-actions'; +import { createNeed } from '../../lib/dav'; +import moment from 'moment'; + +const createDroneDeliveryNeed = createAction('CREATE_DRONEDELIVERY_NEED', + ({pickup, dropoff, pickup_at, size, weight}) => { + pickup_at = moment(pickup_at, 'HH:mm').format('x'); + const sizeOption = packageSizeOptions.find( + sizeOption => sizeOption.id === size, + ); + + const params = { + need_location_latitude: pickup.lat, + need_location_longitude: pickup.long, + pickup_at: pickup_at, + pickup_latitude: pickup.lat, + pickup_longitude: pickup.long, + pickup_address: pickup.address, + dropoff_latitude: dropoff.lat, + dropoff_longitude: dropoff.long, + cargo_type: sizeOption.cargoType, + weight: parseFloat(weight), + need_type: NEED_TYPES.DRONE_DELIVERY + }; + + return createNeed(params); + } +); + +const OrderScreenContainer = () => { + const mapDispatchToProps = dispatch => ({ + updateOrderDetails: details => dispatch(updateOrderDetails(details)), + createNeed: need => dispatch(createDroneDeliveryNeed(need)), + onMount: () => dispatch(updateOrderDetails({ stage: 'draft' })), + verifyIdentity: () => dispatch(verifyDavId()), + registerIdentity: () => dispatch(registerDavId()), + closeWalletDialog: () => dispatch(closeWalletDialog()) + }); + + return connect(state => { + const defaultDropoff = shiftCoords(state.map.coords); + let props = { + registration_step: state.order.registration_step, + fetching: state.order.fetching, + appPath: state.app.path, + needType: state.app.needType + }; + if (state.app.needType === NEED_TYPES.DRONE_DELIVERY) { + props = { + ...props, + ...{ + defaultDropoff, + userCoords: state.map.coords, + pickup: state.order.pickup, + dropoff: state.order.dropoff, + pickup_at: state.order.pickup_at, + size: state.order.size, + weight: state.order.weight + } + }; + } + return props; + }, mapDispatchToProps)(withRouter(OrderScreen)); +}; + +export default OrderScreenContainer; diff --git a/src/containers/drone_charging/OrderScreenContainer.jsx b/src/containers/drone_charging/OrderScreenContainer.jsx new file mode 100644 index 0000000..f8a45ad --- /dev/null +++ b/src/containers/drone_charging/OrderScreenContainer.jsx @@ -0,0 +1,54 @@ +import { connect } from 'react-redux'; +import { withRouter } from 'react-router-dom'; +import { + updateOrderDetails, + verifyDavId, + registerDavId, + closeWalletDialog +} from '../../actions'; +import OrderScreen from '../../components/drone_charging/OrderScreen.jsx'; + +import { createAction } from 'redux-actions'; +import { NEED_TYPES } from '../../config/needTypes.js'; +import { createNeed } from '../../lib/dav'; +const createDroneChargingNeed = createAction('CREATE_CHARGING_NEED', + ({chargingVelocity, currentCharge, droneLocation, droneType, searchRadius}) => { + const params = { + chargingVelocity, + currentCharge, + droneLocation, + droneType, + searchRadius, + need_location_latitude: droneLocation.lat, + need_location_longitude: droneLocation.long, + need_type: NEED_TYPES.DRONE_CHARGING + }; + return createNeed(params); + } +); + +const OrderScreenContainer = () => { + const mapDispatchToProps = (dispatch) => ({ + updateOrderDetails: (details) => dispatch(updateOrderDetails(details)), + createNeed: (need) => dispatch(createDroneChargingNeed(need)), + onMount: () => dispatch(updateOrderDetails({ stage: 'draft' })), + verifyIdentity: () => dispatch(verifyDavId()), + registerIdentity: () => dispatch(registerDavId()), + closeWalletDialog: () => dispatch(closeWalletDialog()) + }); + + return connect( + (state) => { + let props = { + registration_step: state.order.registration_step, + fetching: state.order.fetching, + appPath: state.app.path + }; + return props; + }, + mapDispatchToProps + )(withRouter(OrderScreen)); +}; + +export default OrderScreenContainer; + diff --git a/src/containers/drone_simulation/OrderScreenContainer.jsx b/src/containers/drone_simulation/OrderScreenContainer.jsx new file mode 100644 index 0000000..62d95f6 --- /dev/null +++ b/src/containers/drone_simulation/OrderScreenContainer.jsx @@ -0,0 +1,76 @@ +import { connect } from 'react-redux'; +import { withRouter } from 'react-router-dom'; +import { shiftCoords, packageSizeOptions } from '../../lib/utils'; +import { NEED_TYPES } from '../../config/needTypes.js'; +import { + updateOrderDetails, + verifyDavId_NO_BLOCKCHAIN, + registerDavId, + closeWalletDialog +} from '../../actions'; + +import OrderScreen from '../../components/drone_simulation/OrderScreen.jsx'; +import moment from 'moment'; + +import { createAction } from 'redux-actions'; +import { createNeed } from '../../lib/dav'; +const createDroneDeliveryNeed = createAction('CREATE_CHARGING_NEED', + ({pickup, dropoff, pickup_at, size, weight}) => { + + pickup_at = moment(pickup_at, 'HH:mm').format('x'); + const sizeOption = packageSizeOptions.find(sizeOption => sizeOption.id === size); + const params = { + need_location_latitude: pickup.lat, + need_location_longitude: pickup.long, + pickup_at: pickup_at, + pickup_latitude: pickup.lat, + pickup_longitude: pickup.long, + pickup_address: pickup.address, + dropoff_latitude: dropoff.lat, + dropoff_longitude: dropoff.long, + cargo_type: sizeOption.cargoType, + weight: parseFloat(weight), + need_type: NEED_TYPES.DRONE_DELIVERY + }; + return createNeed(params); + } +); +const OrderScreenContainer = () => { + const mapDispatchToProps = (dispatch) => ({ + updateOrderDetails: (details) => dispatch(updateOrderDetails(details)), + createNeed: (need) => dispatch(createDroneDeliveryNeed(need)), + onMount: () => dispatch(updateOrderDetails({stage: 'draft'})), + verifyIdentity: () => dispatch(verifyDavId_NO_BLOCKCHAIN()), + registerIdentity: () => dispatch(registerDavId()), + closeWalletDialog: () => dispatch(closeWalletDialog()) + }); + + return connect( + (state) => { + const defaultDropoff = shiftCoords(state.map.coords); + let props = { + registration_step: state.order.registration_step, + fetching: state.order.fetching, + appPath: state.app.path, + needType: state.app.needType + }; + if (state.app.needType === NEED_TYPES.DRONE_DELIVERY) { + props = { + ...props, ...{ + defaultDropoff, + userCoords: state.map.coords, + pickup: state.order.pickup, + dropoff: state.order.dropoff, + pickup_at: state.order.pickup_at, + size: state.order.size, + weight: state.order.weight, + } + }; + } + return props; + }, + mapDispatchToProps + )(withRouter(OrderScreen)); +}; + +export default OrderScreenContainer; diff --git a/src/containers/route_plan/MapContainer.jsx b/src/containers/route_plan/MapContainer.jsx new file mode 100644 index 0000000..94000ed --- /dev/null +++ b/src/containers/route_plan/MapContainer.jsx @@ -0,0 +1,69 @@ +import {connect} from 'react-redux'; +import {withRouter} from 'react-router-dom'; +import {getBidArray} from '../../reducers/bids'; +import {updateMapCoords} from '../../actions'; +import Map from '../../components/Map.jsx'; +import {getCaptainsArray} from '../../reducers/captains'; + +const matchStateToProps = (state) => { + const appPath = state.app.path; + const needType = state.app.needType; + let props = { + graddPayload: state.mission && state.mission.gradd_payload, + orderStage: state.order.stage, + droneLocation: state.order.droneLocation, + startPosition: state.order.startPosition, + endPosition: state.order.endPosition, + needType, + appPath + }; + + props.showRoutePath = false; + + props.mapItems = getRelevantMapItems('vehicle', state); + props.mapItemType = 'vehicle'; + + if (state.mission.status) { + props.missionStatus = state.mission.status; + props.startPosition = { + lat: state.mission.start_latitude, + long: state.mission.start_longitude + }; + props.endPosition = { + lat: state.mission.end_latitude, + long: state.mission.end_longitude + }; + if (props.missionStatus === 'in_mission') { + if (state.captains[state.mission.captain_id] && + state.captains[state.mission.captain_id].status === 'ready') { + props.showRoutePath = true; + } + } + } + + return props; +}; + +const mapDispatchToProps = (dispatch) => ({ + onMoveEnd: (coords) => dispatch(updateMapCoords({coords: coords})) +}); + + +const getRelevantMapItems = (mapItemType, state) => { + let mapItems = []; + // if we are looking at bids, only show vehicles with bids + if (['searching', 'choosing'].includes(state.order.stage)) { + getBidArray(state.bids).forEach( + bid => state.captains[bid.captain_id] && mapItems.push(state.captains[bid.captain_id]) + ); + } else { + mapItems = getCaptainsArray(state.captains); + } + return mapItems; +}; + +export default connect( + matchStateToProps, + mapDispatchToProps +)(withRouter(Map)); + diff --git a/src/containers/route_plan/OrderScreenContainer.jsx b/src/containers/route_plan/OrderScreenContainer.jsx new file mode 100644 index 0000000..07ea1bb --- /dev/null +++ b/src/containers/route_plan/OrderScreenContainer.jsx @@ -0,0 +1,56 @@ +import { connect } from 'react-redux'; +import { withRouter } from 'react-router-dom'; +import { + updateOrderDetails, + verifyDavId, + registerDavId, + closeWalletDialog +} from '../../actions'; +import OrderScreen from '../../components/route_plan/OrderScreen.jsx'; + +import { createAction } from 'redux-actions'; +import { NEED_TYPES } from '../../config/needTypes.js'; +import { createNeed } from '../../lib/dav'; +export const createRoutePlanNeed = createAction('CREATE_ROUTEPLAN_NEED', + ({startPosition, endPosition, flightHeight, heightUnits}) => { + const params = { + need_location_latitude: startPosition.lat, + need_location_longitude: startPosition.long, + start_latitude: startPosition.lat, + start_longitude: startPosition.long, + end_latitude: endPosition.lat, + end_longitude: endPosition.long, + flight_height: flightHeight, + height_units: heightUnits, + need_type: NEED_TYPES.ROUTE_PLAN + }; + + return createNeed(params); + } +); + +const OrderScreenContainer = (/* componentName */) => { + const mapDispatchToProps = (dispatch) => ({ + updateOrderDetails: (details) => dispatch(updateOrderDetails(details)), + createNeed: (need) => dispatch(createRoutePlanNeed(need)), + onMount: () => dispatch(updateOrderDetails({ stage: 'draft' })), + verifyIdentity: () => dispatch(verifyDavId()), + registerIdentity: () => dispatch(registerDavId()), + closeWalletDialog: () => dispatch(closeWalletDialog()) + }); + + return connect( + (state) => { + let props = { + registration_step: state.order.registration_step, + fetching: state.order.fetching, + appPath: state.app.path, + needType: state.app.needType + }; + return props; + }, + mapDispatchToProps + )(withRouter(OrderScreen)); +}; + +export default OrderScreenContainer; diff --git a/src/favicon.ico b/src/favicon.ico index 2490c7f..0be912a 100644 Binary files a/src/favicon.ico and b/src/favicon.ico differ diff --git a/src/favicon_missions.ico b/src/favicon_missions.ico new file mode 100644 index 0000000..2490c7f Binary files /dev/null and b/src/favicon_missions.ico differ diff --git a/src/favicon_mooving.ico b/src/favicon_mooving.ico new file mode 100644 index 0000000..0be912a Binary files /dev/null and b/src/favicon_mooving.ico differ diff --git a/src/html/route-creator/contributors.json b/src/html/route-creator/contributors.json new file mode 100644 index 0000000..6855754 --- /dev/null +++ b/src/html/route-creator/contributors.json @@ -0,0 +1 @@ +[{"user":"cg-cnu","name":"sreenivas alapati","avatar":"https://avatars0.githubusercontent.com/u/2767425?v=4","bio":"art, code and everything in between! Self-learner, open-sorcerer. #python #nodejs #rust #react #blender","id":"2767425","contrib_count":203,"repos":["missioncontrol","dav-js","missions","community","community-client","davfoundation.github.io","api_doc","dav-cli","xplore","n3m0","captain-sim","captain-coex","organization-contributors"]},{"user":"griffobeid","name":"Griffin Obeid","avatar":"https://avatars3.githubusercontent.com/u/12220672?v=4","bio":"I love coding, extreme sports, and drumming 😄 ","id":"12220672","contrib_count":26,"repos":["missioncontrol","missions","xplore"]},{"user":"avivklas","name":"Aviv Klasquin Komissar","avatar":"https://avatars2.githubusercontent.com/u/6282578?v=4","bio":"Humans <> Machines Translator","id":"6282578","contrib_count":14,"repos":["missioncontrol","dav-js"]},{"user":"BlackSquare1915","name":null,"avatar":"https://avatars1.githubusercontent.com/u/32010126?v=4","bio":"Software Engineer, M.Sc. in Computer Science ","id":"32010126","contrib_count":13,"repos":["missioncontrol"]},{"user":"privateOmega","name":"KIRAN MATHEW MOHAN","avatar":"https://avatars0.githubusercontent.com/u/10467133?v=4","bio":"A tech savvy amateur coder by night and tv enthusiast by day. Interested in product ideation, development.","id":"10467133","contrib_count":13,"repos":["missioncontrol"]},{"user":"pfreema1","name":"Paul Freeman","avatar":"https://avatars2.githubusercontent.com/u/20588071?v=4","bio":":v:","id":"20588071","contrib_count":12,"repos":["missions"]},{"user":"THEozmic","name":"Michael Ozoemena","avatar":"https://avatars0.githubusercontent.com/u/15184445?v=4","bio":"Software Craftsman. JS + Ruby + Python + PHP","id":"15184445","contrib_count":12,"repos":["missions","xplore"]},{"user":"Rob-Rychs","name":null,"avatar":"https://avatars1.githubusercontent.com/u/16437897?v=4","bio":"💻 Banging my head against the keyboard until something good happens. I GIT SSH-it done. 🚀","id":"16437897","contrib_count":9,"repos":["missioncontrol"]},{"user":"psalv","name":"Paul Salvatore","avatar":"https://avatars1.githubusercontent.com/u/16929485?v=4","bio":"Western University, Computer Science and Biochemistry.\r\n\r\nAlways more to learn.","id":"16929485","contrib_count":7,"repos":["missioncontrol"]},{"user":"fabio-sp","name":null,"avatar":"https://avatars3.githubusercontent.com/u/24456379?v=4","bio":null,"id":"24456379","contrib_count":6,"repos":["missioncontrol"]},{"user":"gabimoncha","name":"Gabriel Moncea","avatar":"https://avatars0.githubusercontent.com/u/26458075?v=4","bio":null,"id":"26458075","contrib_count":6,"repos":["missioncontrol","missions","xplore"]},{"user":"adarshlilha","name":"Adarsh Lilha","avatar":"https://avatars1.githubusercontent.com/u/13575704?v=4","bio":null,"id":"13575704","contrib_count":6,"repos":["community","community-client"]},{"user":"yrstyre","name":"Emy Spjuth","avatar":"https://avatars2.githubusercontent.com/u/1552918?v=4","bio":null,"id":"1552918","contrib_count":5,"repos":["missioncontrol","missions"]},{"user":"roshane","name":"roshane","avatar":"https://avatars0.githubusercontent.com/u/4880428?v=4","bio":"I'm a java developer with 4+ years of experience","id":"4880428","contrib_count":5,"repos":["xplore"]},{"user":"Valilutzik","name":"Walid","avatar":"https://avatars1.githubusercontent.com/u/5007013?v=4","bio":"Quant Trader","id":"5007013","contrib_count":4,"repos":["missioncontrol"]},{"user":"whitedann","name":"Daniel White","avatar":"https://avatars3.githubusercontent.com/u/7676963?v=4","bio":null,"id":"7676963","contrib_count":4,"repos":["xplore"]},{"user":"nicolasdelfino","name":"Nicolás Delfino","avatar":"https://avatars1.githubusercontent.com/u/6420184?v=4","bio":"Front End / UI dev","id":"6420184","contrib_count":4,"repos":["missions"]},{"user":"prinzpiuz","name":"prinz piuz","avatar":"https://avatars1.githubusercontent.com/u/26384106?v=4","bio":"i believe in \"free as in freedom\"","id":"26384106","contrib_count":4,"repos":["missioncontrol","dav-cli"]},{"user":"nachiketdhamankar","name":"Nachiket Dhamankar","avatar":"https://avatars0.githubusercontent.com/u/9782224?v=4","bio":"Computer Science Student\r\n","id":"9782224","contrib_count":4,"repos":["xplore"]},{"user":"qwiktrix","name":"Jessa Mae A.","avatar":"https://avatars2.githubusercontent.com/u/31554336?v=4","bio":null,"id":"31554336","contrib_count":4,"repos":["missioncontrol"]},{"user":"verhaghe-benoit","name":null,"avatar":"https://avatars3.githubusercontent.com/u/32389884?v=4","bio":null,"id":"32389884","contrib_count":4,"repos":["n3m0"]},{"user":"adiconstante","name":"Adilene Constante","avatar":"https://avatars2.githubusercontent.com/u/20405615?v=4","bio":"Software Developer","id":"20405615","contrib_count":3,"repos":["missions","xplore"]},{"user":"meholden","name":"Mike Holden","avatar":"https://avatars3.githubusercontent.com/u/10285305?v=4","bio":"Professor of Mechanical Engineering the California State University Maritime Academy","id":"10285305","contrib_count":3,"repos":["n3m0"]},{"user":"ryan-barrett","name":"Ryan Barrett","avatar":"https://avatars1.githubusercontent.com/u/29344675?v=4","bio":null,"id":"29344675","contrib_count":3,"repos":["missions","xplore"]},{"user":"NdubuisiO","name":null,"avatar":"https://avatars1.githubusercontent.com/u/22311928?v=4","bio":null,"id":"22311928","contrib_count":3,"repos":["organization-contributors"]},{"user":"Peachball","name":"Chen Xu","avatar":"https://avatars3.githubusercontent.com/u/8812400?v=4","bio":"A high school student at Interlake.","id":"8812400","contrib_count":3,"repos":["missioncontrol"]},{"user":"raphaeltelatim","name":"Raphael Telatim","avatar":"https://avatars3.githubusercontent.com/u/11873585?v=4","bio":null,"id":"11873585","contrib_count":2,"repos":["missioncontrol"]},{"user":"mrcolo","name":"fcolo","avatar":"https://avatars3.githubusercontent.com/u/12208440?v=4","bio":"I'm a student at Pasadena City College, pursuing a bachelor in Computer Science. ","id":"12208440","contrib_count":2,"repos":["organization-contributors"]},{"user":"filip-ph-johansson","name":null,"avatar":"https://avatars1.githubusercontent.com/u/5139954?v=4","bio":null,"id":"5139954","contrib_count":2,"repos":["missions"]},{"user":"VincentPersyn","name":"Vincent Persyn","avatar":"https://avatars3.githubusercontent.com/u/12728783?v=4","bio":"21 yo computer science student.","id":"12728783","contrib_count":2,"repos":["n3m0"]},{"user":"theissn","name":"Theis Nielsen","avatar":"https://avatars0.githubusercontent.com/u/5305773?v=4","bio":null,"id":"5305773","contrib_count":2,"repos":["missioncontrol"]},{"user":"JibranKalia","name":"Jibran Kalia","avatar":"https://avatars0.githubusercontent.com/u/14208431?v=4","bio":null,"id":"14208431","contrib_count":2,"repos":["missioncontrol"]},{"user":"MJSeaton","name":"Matthew ","avatar":"https://avatars2.githubusercontent.com/u/5358511?v=4","bio":"Hacking Arts 2016 Hackathon 1st place winner.\r\nSoftware developer with interests in Augmented Reality, Data Mining, and Horticulture. More at www.mjseaton.com","id":"5358511","contrib_count":2,"repos":["missioncontrol"]},{"user":"amit3992","name":"Amit Kulkarni","avatar":"https://avatars3.githubusercontent.com/u/948404?v=4","bio":"When the going get's weird, the weird go pro","id":"948404","contrib_count":2,"repos":["xplore"]},{"user":"bonecrushereb","name":"Benjamin E Nolan","avatar":"https://avatars3.githubusercontent.com/u/16419559?v=4","bio":"I am a Full Stack Javascript Developer with game art experience. I really enjoy creating fully developed apps and continue my artistic abilities.","id":"16419559","contrib_count":2,"repos":["dav-js"]},{"user":"JamesDimi","name":"James Dimitrakopoulos","avatar":"https://avatars3.githubusercontent.com/u/15365056?v=4","bio":"CS student at Athens University of Economics and Business","id":"15365056","contrib_count":2,"repos":["missioncontrol"]},{"user":"antlockyer","name":null,"avatar":"https://avatars0.githubusercontent.com/u/2171807?v=4","bio":null,"id":"2171807","contrib_count":2,"repos":["missions"]},{"user":"tata81","name":"Srinath Tata","avatar":"https://avatars1.githubusercontent.com/u/17158307?v=4","bio":"Front End Developer","id":"17158307","contrib_count":2,"repos":["xplore","organization-contributors"]},{"user":"ZackTaylor","name":"Zackory Taylor","avatar":"https://avatars0.githubusercontent.com/u/17286582?v=4","bio":"Think outside the brackets []","id":"17286582","contrib_count":2,"repos":["missioncontrol"]},{"user":"PolyProgrammist","name":"Volodin Vadim","avatar":"https://avatars2.githubusercontent.com/u/17502570?v=4","bio":null,"id":"17502570","contrib_count":2,"repos":["captain-coex"]},{"user":"prattheev","name":"Pratheev","avatar":"https://avatars0.githubusercontent.com/u/18045566?v=4","bio":"A go-between Humans and Machines.","id":"18045566","contrib_count":2,"repos":["missioncontrol"]},{"user":"eitchio","name":null,"avatar":"https://avatars3.githubusercontent.com/u/18212514?v=4","bio":null,"id":"18212514","contrib_count":2,"repos":["missioncontrol"]},{"user":"reidhansell","name":"Reid Hansell","avatar":"https://avatars1.githubusercontent.com/u/19329302?v=4","bio":"I know the principles of coding, trying to put the knowledge to good use!","id":"19329302","contrib_count":2,"repos":["missions"]},{"user":"sblasa","name":"Sussette Blasa","avatar":"https://avatars1.githubusercontent.com/u/20133223?v=4","bio":null,"id":"20133223","contrib_count":2,"repos":["missions"]},{"user":"TiagoLisboa","name":"Tiago Lisboa","avatar":"https://avatars0.githubusercontent.com/u/6991359?v=4","bio":"Yeeeaph!","id":"6991359","contrib_count":2,"repos":["missions"]},{"user":"seyi-adeleke","name":"seyi","avatar":"https://avatars2.githubusercontent.com/u/7271210?v=4","bio":" “worst engineer at the company, but third coolest”","id":"7271210","contrib_count":2,"repos":["missions","xplore"]},{"user":"combisloic","name":"Loïc Combis","avatar":"https://avatars0.githubusercontent.com/u/22350513?v=4","bio":"Student at Polytech Engineer School in Montpellier (South of France) in Computer Science and Management.","id":"22350513","contrib_count":2,"repos":["xplore"]},{"user":"hmainismael","name":null,"avatar":"https://avatars1.githubusercontent.com/u/22796353?v=4","bio":null,"id":"22796353","contrib_count":2,"repos":["missioncontrol"]},{"user":"simonherlin","name":"Herlin Simon","avatar":"https://avatars1.githubusercontent.com/u/22819804?v=4","bio":null,"id":"22819804","contrib_count":2,"repos":["n3m0"]},{"user":"jj-owens","name":"jj.owens","avatar":"https://avatars0.githubusercontent.com/u/23216890?v=4","bio":"I currently work with Angular, React, Ionic, React Native, MongoDB, Express, and Node.","id":"23216890","contrib_count":2,"repos":["community-client"]},{"user":"TheoCouture","name":null,"avatar":"https://avatars2.githubusercontent.com/u/23309216?v=4","bio":null,"id":"23309216","contrib_count":2,"repos":["n3m0"]},{"user":"riktimmondal","name":"Riktim Mondal","avatar":"https://avatars3.githubusercontent.com/u/24415468?v=4","bio":null,"id":"24415468","contrib_count":2,"repos":["missioncontrol"]},{"user":"9jaswag","name":"Chuks Opia","avatar":"https://avatars0.githubusercontent.com/u/8125356?v=4","bio":"Budding Software Developer.\r\nLifelong Learner.\r\nLover of GOD.","id":"8125356","contrib_count":2,"repos":["missions"]},{"user":"andriijas","name":"Andreas Cederström","avatar":"https://avatars2.githubusercontent.com/u/33141?v=4","bio":null,"id":"33141","contrib_count":2,"repos":["missions"]},{"user":"maddven1","name":null,"avatar":"https://avatars2.githubusercontent.com/u/25841958?v=4","bio":null,"id":"25841958","contrib_count":2,"repos":["organization-contributors"]},{"user":"Holly-E","name":"Holly","avatar":"https://avatars1.githubusercontent.com/u/25857794?v=4","bio":null,"id":"25857794","contrib_count":2,"repos":["community-client"]},{"user":"denisenricohasyim93","name":null,"avatar":"https://avatars3.githubusercontent.com/u/26061493?v=4","bio":null,"id":"26061493","contrib_count":2,"repos":["missioncontrol"]},{"user":"vikramnr","name":"Vikram","avatar":"https://avatars0.githubusercontent.com/u/8538409?v=4","bio":null,"id":"8538409","contrib_count":2,"repos":["xplore"]},{"user":"Vinaykumarpaspula","name":"Vinay kumar Paspula","avatar":"https://avatars3.githubusercontent.com/u/26522262?v=4","bio":null,"id":"26522262","contrib_count":2,"repos":["xplore","organization-contributors"]},{"user":"TEJAPS","name":"P.S.TEJA","avatar":"https://avatars2.githubusercontent.com/u/29141451?v=4","bio":null,"id":"29141451","contrib_count":2,"repos":["organization-contributors"]},{"user":"ProcrastinatorCp","name":"CP","avatar":"https://avatars3.githubusercontent.com/u/29228904?v=4","bio":null,"id":"29228904","contrib_count":2,"repos":["missions"]},{"user":"hongthang152","name":null,"avatar":"https://avatars3.githubusercontent.com/u/29309458?v=4","bio":null,"id":"29309458","contrib_count":2,"repos":["missioncontrol"]},{"user":"NeetuGit","name":"Neetu Pandey","avatar":"https://avatars3.githubusercontent.com/u/30486695?v=4","bio":"I am experience digital marketing professional, looking for exciting projects on facebook ads and google adwords","id":"30486695","contrib_count":2,"repos":["dav-cli"]},{"user":"bencassidy","name":"Ben Cassidy","avatar":"https://avatars0.githubusercontent.com/u/9204117?v=4","bio":null,"id":"9204117","contrib_count":2,"repos":["xplore"]},{"user":"Apoorva-13","name":"Apoorva Dhawan","avatar":"https://avatars1.githubusercontent.com/u/31508100?v=4","bio":"Information Technology undergrad at Indira Gandhi Delhi Technical University For Women","id":"31508100","contrib_count":2,"repos":["missions"]},{"user":"Govorin","name":"Victor","avatar":"https://avatars1.githubusercontent.com/u/9496942?v=4","bio":null,"id":"9496942","contrib_count":2,"repos":["missioncontrol"]},{"user":"simonansel","name":"Wayneless","avatar":"https://avatars1.githubusercontent.com/u/32389857?v=4","bio":"Student","id":"32389857","contrib_count":2,"repos":["missioncontrol"]},{"user":"felgeekpe","name":"Felipe Serna","avatar":"https://avatars0.githubusercontent.com/u/1871286?v=4","bio":null,"id":"1871286","contrib_count":2,"repos":["missions","xplore"]},{"user":"hankchanocd","name":"Hank Chan","avatar":"https://avatars0.githubusercontent.com/u/9512759?v=4","bio":"Standing at the crossroad of humanity and technology","id":"9512759","contrib_count":1,"repos":["missions"]},{"user":"jonasgrilleres","name":"Jonas Grillères","avatar":"https://avatars1.githubusercontent.com/u/5982021?v=4","bio":null,"id":"5982021","contrib_count":1,"repos":["missions"]},{"user":"sefields","name":"Sam","avatar":"https://avatars0.githubusercontent.com/u/7119586?v=4","bio":"Enjoyer of loud guitars and Disneyland.","id":"7119586","contrib_count":1,"repos":["community-client"]},{"user":"tm3cheun","name":"Tiffany Cheung","avatar":"https://avatars0.githubusercontent.com/u/7431726?v=4","bio":null,"id":"7431726","contrib_count":1,"repos":["missioncontrol"]},{"user":"ashurbeyli","name":"Jeyhun","avatar":"https://avatars0.githubusercontent.com/u/8686481?v=4","bio":"I'm a Full Stack Web Developer.","id":"8686481","contrib_count":1,"repos":["missioncontrol"]},{"user":"JeromeWirth","name":"Jerome Wirth","avatar":"https://avatars0.githubusercontent.com/u/9217306?v=4","bio":null,"id":"9217306","contrib_count":1,"repos":["missioncontrol"]},{"user":"davidrthorn","name":"David Rowthorn","avatar":"https://avatars0.githubusercontent.com/u/9431760?v=4","bio":"Junior developer with a PhD in Philosophy who mainly codes in JavaScript.","id":"9431760","contrib_count":1,"repos":["missioncontrol"]},{"user":"tsmanikandan","name":"Manikandan Sundararajan","avatar":"https://avatars1.githubusercontent.com/u/10191300?v=4","bio":"Software Developer at Derive Technologies","id":"10191300","contrib_count":1,"repos":["davfoundation.github.io"]},{"user":"JWBAK","name":"Josh Berry","avatar":"https://avatars1.githubusercontent.com/u/10888495?v=4","bio":"Front-End Developer working for Alaska Dispatch News","id":"10888495","contrib_count":1,"repos":["missions"]},{"user":"Logan1x","name":"Khushal Sharma","avatar":"https://avatars0.githubusercontent.com/u/10944610?v=4","bio":"Just another Github User with extra capabilities.","id":"10944610","contrib_count":1,"repos":["dav-js"]},{"user":"joeydlee95","name":"Joey Lee","avatar":"https://avatars2.githubusercontent.com/u/1016109?v=4","bio":null,"id":"1016109","contrib_count":1,"repos":["missioncontrol"]},{"user":"mintunitish","name":"Nitish Kumar","avatar":"https://avatars2.githubusercontent.com/u/12434080?v=4","bio":"I live in the world of possibilities, and become excited about concepts, challenges. I am an upbeat visionary and highly value knowledge.","id":"12434080","contrib_count":1,"repos":["missioncontrol"]},{"user":"googoos","name":"Gugus A. Sakti","avatar":"https://avatars0.githubusercontent.com/u/12741377?v=4","bio":null,"id":"12741377","contrib_count":1,"repos":["missioncontrol"]},{"user":"whosford","name":"William Hosford","avatar":"https://avatars0.githubusercontent.com/u/12758655?v=4","bio":null,"id":"12758655","contrib_count":1,"repos":["n3m0"]},{"user":"agm-dev","name":"Adrián Gonzalo","avatar":"https://avatars1.githubusercontent.com/u/13119437?v=4","bio":"Javascript Ninja Wannabe","id":"13119437","contrib_count":1,"repos":["captain-coex"]},{"user":"sBryan06","name":null,"avatar":"https://avatars2.githubusercontent.com/u/15045475?v=4","bio":null,"id":"15045475","contrib_count":1,"repos":["n3m0"]},{"user":"kkavita92","name":"Kavita Kalaichelvan","avatar":"https://avatars1.githubusercontent.com/u/16091552?v=4","bio":"Product Developer","id":"16091552","contrib_count":1,"repos":["xplore"]},{"user":"P-WM","name":"Peter Warner-Medley","avatar":"https://avatars2.githubusercontent.com/u/16386599?v=4","bio":null,"id":"16386599","contrib_count":1,"repos":["missioncontrol"]},{"user":"dusty-wil","name":"Dusty Williams","avatar":"https://avatars2.githubusercontent.com/u/16580885?v=4","bio":null,"id":"16580885","contrib_count":1,"repos":["missioncontrol"]},{"user":"mukesh-srivastav","name":"Mukesh Srivastav","avatar":"https://avatars2.githubusercontent.com/u/16674606?v=4","bio":"Trying to figure out my ways . ","id":"16674606","contrib_count":1,"repos":["community"]},{"user":"tomscott1","name":"Tom Scott","avatar":"https://avatars2.githubusercontent.com/u/16972659?v=4","bio":null,"id":"16972659","contrib_count":1,"repos":["missions"]},{"user":"ganes1410","name":"R.Ganesh","avatar":"https://avatars3.githubusercontent.com/u/16988745?v=4","bio":null,"id":"16988745","contrib_count":1,"repos":["missions"]},{"user":"204070","name":"Akinwunmi Oluwaseun","avatar":"https://avatars0.githubusercontent.com/u/17150389?v=4","bio":null,"id":"17150389","contrib_count":1,"repos":["dav-cli"]},{"user":"itsthecheat","name":"Leslie L Behum","avatar":"https://avatars1.githubusercontent.com/u/17536124?v=4","bio":"web developer and artist, always learning","id":"17536124","contrib_count":1,"repos":["missioncontrol"]},{"user":"manp3104","name":"Manish Kumar Pal","avatar":"https://avatars3.githubusercontent.com/u/17620510?v=4","bio":"UNDERGRAD AT IIT ROORKEE","id":"17620510","contrib_count":1,"repos":["missions"]},{"user":"JensThiel","name":"Jens Thiel","avatar":"https://avatars0.githubusercontent.com/u/17981384?v=4","bio":"Student System and Software Engineer","id":"17981384","contrib_count":1,"repos":["xplore"]},{"user":"Bennet11","name":"John B","avatar":"https://avatars2.githubusercontent.com/u/17996925?v=4","bio":null,"id":"17996925","contrib_count":1,"repos":["missions"]},{"user":"neetudas","name":null,"avatar":"https://avatars0.githubusercontent.com/u/18180311?v=4","bio":null,"id":"18180311","contrib_count":1,"repos":["davfoundation.github.io"]},{"user":"asalazar18s","name":"Aaron Salazar","avatar":"https://avatars2.githubusercontent.com/u/19826270?v=4","bio":null,"id":"19826270","contrib_count":1,"repos":["n3m0"]},{"user":"ModifiedChocolateUnicorn","name":"Chocolate Unicorn","avatar":"https://avatars2.githubusercontent.com/u/20042260?v=4","bio":"A chocolate unicorn that once got modified and codes a lot !\r\nGender(s) as fluid as chocolate can be.","id":"20042260","contrib_count":1,"repos":["davfoundation.github.io"]},{"user":"zliu92","name":null,"avatar":"https://avatars0.githubusercontent.com/u/20179122?v=4","bio":null,"id":"20179122","contrib_count":1,"repos":["missions"]},{"user":"nieznamjs","name":"Grzegorz Musialik","avatar":"https://avatars0.githubusercontent.com/u/20813056?v=4","bio":null,"id":"20813056","contrib_count":1,"repos":["xplore"]},{"user":"matepak","name":"Mateusz Szczupak","avatar":"https://avatars3.githubusercontent.com/u/20957527?v=4","bio":null,"id":"20957527","contrib_count":1,"repos":["xplore"]},{"user":"zjmitche","name":"Zach Mitchell","avatar":"https://avatars3.githubusercontent.com/u/22265862?v=4","bio":"Web Developer | JS MEAN/MERN/FIRE Stack | WordPress & PHP | University of Utah Student | Information Systems","id":"22265862","contrib_count":1,"repos":["captain-sim"]},{"user":"plant99","name":"Shivashis Padhi","avatar":"https://avatars0.githubusercontent.com/u/22407757?v=4","bio":"U.G NIT Trichy | Python, JavaScript ","id":"22407757","contrib_count":1,"repos":["missions"]},{"user":"lilliekhogg","name":null,"avatar":"https://avatars3.githubusercontent.com/u/22520894?v=4","bio":null,"id":"22520894","contrib_count":1,"repos":["dav-cli"]},{"user":"wilmer737","name":"Wilmer","avatar":"https://avatars1.githubusercontent.com/u/22555644?v=4","bio":null,"id":"22555644","contrib_count":1,"repos":["missioncontrol"]},{"user":"erickpazzim","name":"Erick Alves Pazzim","avatar":"https://avatars3.githubusercontent.com/u/22565767?v=4","bio":null,"id":"22565767","contrib_count":1,"repos":["organization-contributors"]},{"user":"rumshenoy","name":"Ramya Shenoy","avatar":"https://avatars3.githubusercontent.com/u/1961478?v=4","bio":null,"id":"1961478","contrib_count":1,"repos":["community-client"]},{"user":"kennethcassel","name":null,"avatar":"https://avatars2.githubusercontent.com/u/22961671?v=4","bio":null,"id":"22961671","contrib_count":1,"repos":["missions"]},{"user":"mikey2020","name":null,"avatar":"https://avatars1.githubusercontent.com/u/23409769?v=4","bio":null,"id":"23409769","contrib_count":1,"repos":["dav-js"]},{"user":"koutron","name":"Kouros","avatar":"https://avatars0.githubusercontent.com/u/24259448?v=4","bio":null,"id":"24259448","contrib_count":1,"repos":["dav-cli"]},{"user":"pulkitbhutani","name":"Pulkit Bhutani","avatar":"https://avatars0.githubusercontent.com/u/2548762?v=4","bio":null,"id":"2548762","contrib_count":1,"repos":["community"]},{"user":"sanketsingh24","name":"Sanket Singh","avatar":"https://avatars3.githubusercontent.com/u/24548786?v=4","bio":"I like things better","id":"24548786","contrib_count":1,"repos":["xplore"]},{"user":"kelvinabella","name":"Kelvin Abella","avatar":"https://avatars2.githubusercontent.com/u/24566326?v=4","bio":"Learner","id":"24566326","contrib_count":1,"repos":["xplore"]},{"user":"thomp098","name":"Brandon Thompson","avatar":"https://avatars0.githubusercontent.com/u/24629970?v=4","bio":null,"id":"24629970","contrib_count":1,"repos":["missioncontrol"]},{"user":"silvererudite","name":null,"avatar":"https://avatars2.githubusercontent.com/u/24827548?v=4","bio":null,"id":"24827548","contrib_count":1,"repos":["missions"]},{"user":"davidbgh","name":null,"avatar":"https://avatars2.githubusercontent.com/u/25135526?v=4","bio":null,"id":"25135526","contrib_count":1,"repos":["organization-contributors"]},{"user":"chinapalace","name":"Justin McLaren","avatar":"https://avatars3.githubusercontent.com/u/25782412?v=4","bio":null,"id":"25782412","contrib_count":1,"repos":["missions"]},{"user":"ayamane","name":null,"avatar":"https://avatars2.githubusercontent.com/u/25807560?v=4","bio":null,"id":"25807560","contrib_count":1,"repos":["community"]},{"user":"agray5","name":"April Gray","avatar":"https://avatars0.githubusercontent.com/u/25891362?v=4","bio":null,"id":"25891362","contrib_count":1,"repos":["xplore"]},{"user":"matthewfitch23","name":"Matthew Fitch","avatar":"https://avatars2.githubusercontent.com/u/2854290?v=4","bio":null,"id":"2854290","contrib_count":1,"repos":["dav-js"]},{"user":"rohith-vishnu","name":"vishnu rohith","avatar":"https://avatars0.githubusercontent.com/u/26228884?v=4","bio":null,"id":"26228884","contrib_count":1,"repos":["n3m0"]},{"user":"FabriDamazio","name":"Fabricio Damazio","avatar":"https://avatars1.githubusercontent.com/u/3181570?v=4","bio":"Full Stack Web Developer","id":"3181570","contrib_count":1,"repos":["community-client"]},{"user":"trevortosi","name":null,"avatar":"https://avatars2.githubusercontent.com/u/26404349?v=4","bio":null,"id":"26404349","contrib_count":1,"repos":["missioncontrol"]},{"user":"afmatthh","name":"Matthias Hultberg","avatar":"https://avatars2.githubusercontent.com/u/3594837?v=4","bio":null,"id":"3594837","contrib_count":1,"repos":["missioncontrol"]},{"user":"Paarmita","name":"Paarmita Bhargava","avatar":"https://avatars1.githubusercontent.com/u/26546816?v=4","bio":null,"id":"26546816","contrib_count":1,"repos":["missions"]},{"user":"drkwjhnsn","name":null,"avatar":"https://avatars0.githubusercontent.com/u/26958076?v=4","bio":null,"id":"26958076","contrib_count":1,"repos":["xplore"]},{"user":"vanhaverbekemichiel","name":null,"avatar":"https://avatars3.githubusercontent.com/u/28290974?v=4","bio":null,"id":"28290974","contrib_count":1,"repos":["davfoundation.github.io"]},{"user":"Varunvaruns9","name":"Varun Singh","avatar":"https://avatars0.githubusercontent.com/u/29421208?v=4","bio":"Student at Indian Institute of Technology Mandi","id":"29421208","contrib_count":1,"repos":["dav-js"]},{"user":"stevenpeniche","name":"Steven Peniche","avatar":"https://avatars1.githubusercontent.com/u/30360094?v=4","bio":"Full-Stack Software Developer ","id":"30360094","contrib_count":1,"repos":["xplore"]},{"user":"Saiteja31597","name":null,"avatar":"https://avatars2.githubusercontent.com/u/30803638?v=4","bio":null,"id":"30803638","contrib_count":1,"repos":["xplore"]},{"user":"kwin555","name":"Kevin T Nguyen","avatar":"https://avatars1.githubusercontent.com/u/30914512?v=4","bio":"Lifelong learner and entry-level web developer.","id":"30914512","contrib_count":1,"repos":["missions"]},{"user":"lukasklee","name":"Lukas Klee","avatar":"https://avatars3.githubusercontent.com/u/31072765?v=4","bio":"Web developer based in Wuppertal, Germany. 34 years old and father of three. That's enough, trust me.","id":"31072765","contrib_count":1,"repos":["community-client"]},{"user":"kiryteo","name":"Ashwin Samudre","avatar":"https://avatars1.githubusercontent.com/u/31079782?v=4","bio":null,"id":"31079782","contrib_count":1,"repos":["community"]},{"user":"sn0wil","name":"Alexander Denisevich","avatar":"https://avatars1.githubusercontent.com/u/31205951?v=4","bio":".net and js developer","id":"31205951","contrib_count":1,"repos":["xplore"]},{"user":"freethewhat","name":"Matt Sutton","avatar":"https://avatars0.githubusercontent.com/u/368519?v=4","bio":null,"id":"368519","contrib_count":1,"repos":["missions"]},{"user":"patrickfeltes","name":"Patrick Feltes","avatar":"https://avatars1.githubusercontent.com/u/5103015?v=4","bio":"CS @ Illinois","id":"5103015","contrib_count":1,"repos":["missions"]},{"user":"MrGMan133","name":null,"avatar":"https://avatars0.githubusercontent.com/u/32648054?v=4","bio":null,"id":"32648054","contrib_count":1,"repos":["missions"]},{"user":"talihomz","name":"Kevin Wahome","avatar":"https://avatars1.githubusercontent.com/u/5684444?v=4","bio":null,"id":"5684444","contrib_count":1,"repos":["xplore"]},{"user":"leaf-light","name":null,"avatar":"https://avatars0.githubusercontent.com/u/34704271?v=4","bio":null,"id":"34704271","contrib_count":1,"repos":["community"]},{"user":"aaronmaynard","name":"Aaron Maynard","avatar":"https://avatars0.githubusercontent.com/u/34851708?v=4","bio":"Just programming for fun.\r\nI enjoy creating things. 😄 \r\n","id":"34851708","contrib_count":1,"repos":["dav-cli"]},{"user":"tharun323","name":"Tharun Kumar Reddy","avatar":"https://avatars3.githubusercontent.com/u/37080957?v=4","bio":"Wanna-be Software Developer ","id":"37080957","contrib_count":1,"repos":["n3m0"]},{"user":"ryki02","name":null,"avatar":"https://avatars3.githubusercontent.com/u/37565563?v=4","bio":null,"id":"37565563","contrib_count":1,"repos":["missions"]}] \ No newline at end of file diff --git a/src/html/route-creator/css/style.css b/src/html/route-creator/css/style.css new file mode 100755 index 0000000..aa55e1f --- /dev/null +++ b/src/html/route-creator/css/style.css @@ -0,0 +1,2897 @@ +body { + font-family: 'Montserrat', sans-serif; } + +input { + outline: none; + -webkit-appearance: none; + border-radius: 0; } + +.btn-orange { + border-radius: 3px; + background: #ff6a46; + color: #FFF; + font-size: 15px; + font-weight: 600; + display: inline-block; + padding: 10px 40px; } + .btn-orange:active, .btn-orange:focus, .btn-orange:hover { + text-decoration: none; + color: #FFF; } + +.navbar-right { + margin-right: 0px; } + .navbar-right img { + margin-right: 8px; + margin-top: -4px; } + +.navbar .navbar-nav { + display: inline-block; + float: none; + vertical-align: top; } + .navbar .navbar-nav .dropdown a { + min-width: 140px; } + .navbar .navbar-nav .dropdown a:hover, .navbar .navbar-nav .dropdown a:active, .navbar .navbar-nav .dropdown a:focus { + background: #2c2928; } + .navbar .navbar-nav .dropdown:hover > a { + background: #2c2928; } + .navbar .navbar-nav .dropdown-menu { + border-radius: 0px; + border: none; + box-shadow: none; + background: #2c2928; + min-width: 140px; + top: 45px; } + .navbar .navbar-nav .dropdown-menu li > a { + color: #FFF; + padding: 5px 20px; } + .navbar .navbar-nav .dropdown-menu li > a:hover { + background: transparent; + color: #ff6a46; } + +.navbar.user-scroll .navbar-nav .dropdown a:hover, .navbar.user-scroll .navbar-nav .dropdown a:active, .navbar.user-scroll .navbar-nav .dropdown a:focus { + background: #FFF; } +.navbar.user-scroll .navbar-nav .dropdown:hover > a { + background: #FFF; } +.navbar.user-scroll .navbar-nav .dropdown-menu { + background: #FFF; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); } + .navbar.user-scroll .navbar-nav .dropdown-menu li > a { + color: #333; } + .navbar.user-scroll .navbar-nav .dropdown-menu li > a:hover { + background: transparent; + color: #ff6a46; } + .navbar.user-scroll .navbar-nav .dropdown-menu::before { + content: ''; + display: block; + width: 106%; + height: 18px; + background: #FFF; + position: absolute; + top: -6px; + left: -3%; } + +.navbar-nav > li > a { + font-size: 15px; + color: #FFF; + line-height: 25px; } + .navbar-nav > li > a:hover { + background: transparent; + color: #ff6a46; } + .navbar-nav > li > a:hover, .navbar-nav > li > a:active, .navbar-nav > li > a:focus { + background: transparent; } + +.navbar-nav.navbar-right > li > a { + font-size: 13px; } + +.navbar-brand > img { + height: 36px; } + +#logo-white { + display: none; } + +.user-scroll { + background-color: #FFF; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); } + .user-scroll li > a { + color: #ff6a46; + color: #333; } + .user-scroll #logo-orange { + display: none; } + .user-scroll #logo-white { + display: inline-block; } + +.hero { + background: #000 url("../img/hero.jpg") no-repeat center; + background-size: cover; + color: #FFF; } + .hero .hero-inner { + height: 47.85714285714286vw; + display: table; + width: 100%; } + .hero .hero-inner .hero-valign { + display: table-cell; + vertical-align: middle; + text-align: center; } + .hero .hero-inner .hero-valign h1 { + font-size: 37px; + font-weight: 700; + margin: 0 0 20px; + line-height: 54px; } + .hero .hero-inner .hero-valign h4 { + font-size: 15px; + font-weight: 700; + line-height: 25px; + margin: 0 0 18px; + padding: 0 15px; } + .hero .hero-inner .hero-valign h4 .mailchimp-count { + color: #ff6a46; + display: inline-block; + min-width: 50px; + text-align: right; } + .hero .hero-inner .hero-valign h5 { + font-size: 15px; + margin: 0 0 50px; + line-height: 25px; } + .hero .hero-inner .hero-valign .countdown { + width: 320px; + margin: 0 auto; } + .hero .hero-inner .hero-valign .countdown p { + border: 1px solid #FFF; + font-size: 24px; + font-weight: 700; + line-height: 55px; + border-radius: 2px; } + .hero .hero-inner .hero-valign .countdown h6 { + font-size: 15px; + text-transform: uppercase; + margin: 0 0 45px; } + .hero .hero-inner .hero-valign .hero-join { + width: 390px; + margin: 0 auto; } + .hero .hero-inner .hero-valign .hero-join input[type=email] { + border: 1px solid #FFF; + border-radius: 3px; + background: rgba(255, 255, 255, 0.3); + height: 37px; + display: block; + width: 100%; + padding: 0 5px; + color: #FFF; } + .hero .hero-inner .hero-valign .hero-join input[type=email]::-webkit-input-placeholder { + color: #FFF; } + .hero .hero-inner .hero-valign .hero-join input[type=email]:-moz-placeholder { + color: #FFF; } + .hero .hero-inner .hero-valign .hero-join input[type=email]::-moz-placeholder { + color: #FFF; } + .hero .hero-inner .hero-valign .hero-join input[type=email]:-ms-input-placeholder { + color: #FFF; } + .hero .hero-inner .hero-valign .hero-join input[type=submit] { + color: #FFF; + border-radius: 3px; + font-size: 15px; + font-weight: bold; + background: #ff6a46; + border: none; + display: block; + width: 100%; + height: 37px; } + .hero .hero-inner a[href='#modalKYCStatus'] { + color: #FFF; + font-size: 15px; + text-decoration: underline; + display: block; + clear: both; } + .hero .countdown-row { + margin: 0 auto 40px; + width: 100%; + display: table; + text-align: center; } + .hero .countdown-section { + display: block; + float: left; + text-align: center; + width: 74px; + height: 55px; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border: solid 1px #fff; + text-align: center; + margin: 10px 15px; } + .hero .countdown-amount { + font-size: 24px; + font-weight: 700; + line-height: 55px; + border-radius: 2px; } + .hero .countdown-period { + display: block; + font-size: 15px; + text-transform: uppercase; + margin: 0 0 45px; + font-weight: 500; + text-align: center; } + .hero.hero-whitelist { + background: #000 url("../img/intersection.jpg") no-repeat center; + background-size: cover; } + +.join-us-orange { + padding: 25px 0 30px; + background: #ff6a46; + text-align: center; } + .join-us-orange h2 { + color: #FFF; + margin: 0 0 16px; + font-size: 25px; + font-weight: 700; } + .join-us-orange a { + display: inline-block; + margin: 0 8px; } + .join-us-orange a img { + width: 34px; } + +.best-brands { + padding: 75px 0 100px; + text-align: center; } + .best-brands h2 { + color: #333333; + margin: 0 0 75px; + font-size: 25px; + font-weight: 700; } + .best-brands a { + display: inline-block; + margin: 0 35px; } + .best-brands a img { + height: 65px; + margin: 10px 0; } + +.refer-dav { + background: #ecebeb; + text-align: center; + padding: 40px 15px; } + .refer-dav h2 { + font-size: 27px; + color: #333; + font-weight: 700; + margin: 0 0 20px; } + .refer-dav h4 { + font-size: 17px; + color: #333; + font-weight: 500; + margin: 0 0 35px; } + .refer-dav a { + border-radius: 3px; + background: #ff6a46; + color: #FFF; + font-size: 15px; + font-weight: 600; + display: inline-block; + padding: 10px 40px; } + .refer-dav a:active, .refer-dav a:focus, .refer-dav a:hover { + text-decoration: none; } + +.refer-friends { + background: #f7f7f7 url("../img/refer.png") no-repeat center bottom; + background-size: 100% auto; + margin-top: 51px; + padding: 50px 0 75px; + text-align: center; } + .refer-friends img { + width: 80%; } + .refer-friends #maitre-widget-container #maitre-main-header { + font-size: 22px; + font-weight: 700; + color: #333; + line-height: 40px; } + .refer-friends #maitre-widget-container, .refer-friends #maitre-widget-popup { + margin-top: 15%; } + .refer-friends #maitre-widget-container #maitre-form-content, .refer-friends #maitre-widget-popup #maitre-form-content { + display: block; } + .refer-friends #maitre-widget-container label, .refer-friends #maitre-widget-popup label { + color: #363840; + top: 10px; + left: 10px; } + .refer-friends #maitre-widget-container input, .refer-friends #maitre-widget-popup input { + border: 1px solid #9e9fa1; + border-radius: 5px; + line-height: 55px; + height: 55px; } + .refer-friends #maitre-widget-container input:focus + label, .refer-friends #maitre-widget-popup input:focus + label { + display: none; } + .refer-friends #maitre-widget-container #maitre-submit-button, .refer-friends #maitre-widget-popup #maitre-submit-button { + border-radius: 5px; + box-shadow: none; + height: 47px; + line-height: 47px; } + +.video-home { + background: url("../img/highways.jpg") no-repeat center; + background-size: cover; + color: #FFF; + text-align: center; + padding: 35px 0 60px; } + .video-home h2 { + text-align: center; + font-size: 25px; + font-weight: 700; + margin: 0 0 45px; + line-height: 44px; } + .video-home p { + font-size: 16px; + text-align: left; + margin-top: 15px; + padding-left: 35px; + padding-right: 35px; } + +.videoWrapper { + position: relative; + padding-bottom: 56.25%; + /* 16:9 */ + padding-top: 25px; + height: 0; } + .videoWrapper iframe { + padding-right: 35px; + padding-left: 35px; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; } + +.illustrations { + padding-top: 75px; + padding-bottom: 75px; } + .illustrations h2 { + text-align: center; + line-height: 44px; + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 40px; } + .illustrations h4 { + color: #333333; + font-size: 16px; + font-weight: 500; + margin: 35px 0 15px; } + .illustrations p { + color: #333333; + font-size: 15px; + font-weight: 300; + margin: 0; } + .illustrations img { + height: 150px; } + +.technology { + text-align: center; + background-color: #f7f7f7; + padding: 30px 0 60px; } + .technology h2 { + color: #363840; + font-weight: 700; + font-size: 25px; + padding-top: 38px; + margin: 0 auto 25px; + width: 300px; + border-top: 1px solid #ff6a46; } + .technology p { + color: #333333; + font-size: 15px; + font-weight: 300; + margin: 0 auto 35px; + width: 60%; } + .technology img { + height: 412px; } + +.technologies { + text-align: center; + padding-top: 40px; } + .technologies img { + margin: 0 0 70px; + height: 182px; } + .technologies h4 { + font-size: 17px; + font-weight: 500; + color: #333333; + margin: 20px 0 30px; + text-align: left; } + .technologies ul { + color: #ff6a46; + padding-left: 20px; } + .technologies p { + text-align: left; + color: #333333; + font-size: 15px; + font-weight: 300; } + +.blockchain-enables { + padding: 60px 0 40px; + background: #213946; + color: #FFF; } + .blockchain-enables h2 { + text-align: center; + line-height: 44px; + font-size: 25px; + font-weight: 700; + margin: 0 0 32px; } + .blockchain-enables ul { + list-style: none; } + .blockchain-enables ul li { + background: url("../img/check.png") no-repeat top 2px left; + font-size: 15px; + font-weight: 300; + margin: 0 0 40px; + padding-left: 36px; } + +.blockchain-middleman { + text-align: center; + padding-top: 60px; + padding-bottom: 60px; + color: #333; } + .blockchain-middleman h2 { + font-size: 27px; + font-weight: 700; } + .blockchain-middleman h3 { + font-size: 17px; + font-weight: 500; + margin: 0 0 50px; } + .blockchain-middleman h4 { + font-size: 17px; + font-weight: 700; + margin: 0 0 20px; } + .blockchain-middleman h5 { + font-size: 16px; + font-weight: 500; + margin: 0 0 10px; } + .blockchain-middleman p { + font-size: 15px; + font-weight: 300; + margin: 0 0 30px; + padding: 0 60px; } + .blockchain-middleman img { + width: 70%; } + .blockchain-middleman a.btn-orange { + border-radius: 3px; + background: #ff6a46; + color: #FFF; + font-size: 15px; + font-weight: 600; + display: inline-block; + padding: 10px 40px; } + .blockchain-middleman a.btn-orange:active, .blockchain-middleman a.btn-orange:focus, .blockchain-middleman a.btn-orange:hover { + text-decoration: none; } + .blockchain-middleman .row > div:after { + content: ""; + display: block; + position: absolute; + width: 48px; + height: 31px; + background: url("../img/arrow-right.png") no-repeat center; + right: -24px; + top: 215px; } + .blockchain-middleman .row > div:last-child::after { + display: none; } + +.prototypes-section { + background: #eeeded; } + .prototypes-section .container { + background: url("../img/prototypes.jpg") no-repeat center; + background-size: 100%; + height: 40vw; } + .prototypes-section h2 { + margin: 15vw 0 20px; + font-weight: 700; } + .prototypes-section a { + background: #ff6a46; + color: #FFF; + padding: 10px 15px; + font-size: 17px; + border-radius: 3px; + height: 47px; + font-weight: 500; + margin: 15px 0 0; + display: inline-block; } + .prototypes-section a:focus, .prototypes-section a:active, .prototypes-section a:hover { + text-decoration: none; } + +.development-tools { + background: #eeeded; + padding: 46px 0 66px; } + .development-tools h2 { + text-align: center; + line-height: 44px; + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; } + .development-tools h4 { + color: #333333; + font-size: 17px; + font-weight: 500; + margin: 0 0 -5px; + text-align: center; } + .development-tools img { + width: 100%; } + .development-tools a { + color: #4c7ce8; + font-size: 14px; + font-weight: 500; + display: block; + text-align: center; } + .development-tools a span { + border-bottom: 1px solid #4c7ce8; } + .development-tools a img { + width: auto; + margin-left: 5px; } + .development-tools a:hover { + text-decoration: none; } + .development-tools .laptop { + position: relative; } + .development-tools .laptop video { + position: absolute; + top: 55px; + left: 50%; + width: 232px; + height: 143px; + margin-left: -114px; + object-fit: fill; } + +.roadmap { + background: url("../img/city.jpg") no-repeat center; + background-size: cover; + padding: 60px 0 55px; + text-align: center; } + .roadmap img { + width: 90%; + max-width: 1270px; } + .roadmap h2 { + color: #FFF; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; } + .roadmap a { + display: block; + color: #FFF; + font-weight: 700; + font-size: 14px; + background: #ff6a46; + margin: 50px auto 0; + line-height: 47px; + height: 47px; + width: 260px; + border-radius: 3px; } + .roadmap a:hover { + text-decoration: none; } + +.dav-alliance { + margin-top: 30px; + padding-bottom: 30px; } + .dav-alliance .alliance-logo { + padding-top: 30px; + margin: 0 auto; + border-top: 1px solid #ff6a46; } + .dav-alliance p { + font-size: 17px; + color: #333333; + margin: 35px 0 45px; + font-weight: 300; } + .dav-alliance h4 { + font-weight: 700; + font-size: 17px; + color: #333333; + margin: 45px 0 20px; + text-align: center; } + .dav-alliance a.goToAlliance, + .dav-alliance a[href='#modalMessage'] { + background: #ff6a46; + color: #FFF; + padding: 10px 15px; + font-size: 17px; + border-radius: 3px; + height: 47px; + font-weight: 500; + margin: 60px 0; + display: inline-block; } + .dav-alliance a.goToAlliance:focus, .dav-alliance a.goToAlliance:active, .dav-alliance a.goToAlliance:hover, + .dav-alliance a[href='#modalMessage']:focus, + .dav-alliance a[href='#modalMessage']:active, + .dav-alliance a[href='#modalMessage']:hover { + text-decoration: none; } + .dav-alliance img { + height: 90px; } + .dav-alliance input[type=email] { + border: 1px solid #333; + line-height: 37px; + height: 37px; + width: 100%; + display: block; + border-radius: 3px; + padding: 0 5px; } + .dav-alliance input[type=submit] { + border: none; + color: #FFF; + background: #ff6a46; + font-weight: 700; + font-size: 15px; + border-radius: 3px; + display: block; + width: 100%; + height: 37px; } + +.alliance-modal.team-modal .modal-dialog { + width: 360px; } +.alliance-modal.team-modal input[type=text] { + display: block; + width: 100%; + border: 1px solid #333; + border-radius: 3px; + height: 37px; + margin: 0 0 15px; + padding: 0 10px; } +.alliance-modal.team-modal textarea { + display: block; + width: 100%; + border: 1px solid #333; + border-radius: 3px; + min-height: 100px; + margin: 0 0 15px; + padding: 10px; + resize: none; } +.alliance-modal.team-modal label { + width: 100%; + display: block; + color: #333; + font-size: 15px; } + .alliance-modal.team-modal label.error { + color: #ff6a46; + margin: -10px 0 10px; } +.alliance-modal.team-modal input[type=submit] { + border-radius: 3px; + background: #ff6a46; + color: #FFF; + border: none; + height: 37px; + padding: 0 10px; + font-size: 15px; + font-weight: 700; } +.alliance-modal.team-modal h4 { + text-align: center; + margin: 10px 0; + color: #333; } +.alliance-modal.team-modal .modal-dialog .modal-content .modal-body { + padding-bottom: 15px; } + +.as-seen-on { + padding: 40px 0 60px; + background: #f7f7f7; } + .as-seen-on h2 { + text-align: center; + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; } + .as-seen-on img { + height: 150px; } + .as-seen-on a { + display: inline-block; + margin-top: 20px; + color: #333333; + font-size: 15px; + font-weight: 500; } + .as-seen-on a:hover { + text-decoration: none; } + .as-seen-on a img { + margin-left: 10px; } + +.partners { + padding: 0 0 60px; + text-align: center; } + .partners h2 { + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + border-top: 1px solid #ff6a46; + padding-top: 50px; } + .partners img { + height: 115px; } + +.people-are-talking { + text-align: center; + background: #eee; + padding: 60px 0; } + .people-are-talking h2 { + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 70px; } + .people-are-talking h3 { + color: #333333; + font-size: 21px; + font-weight: 700; + margin: 40px 0 15px; } + .people-are-talking p { + font-style: italic; + min-height: 120px; + font-size: 15px; + margin: 0 0 20px; } + .people-are-talking a { + color: #4c7ce8; + font-size: 14px; + font-weight: 500; } + .people-are-talking a span { + border-bottom: 1px solid #4c7ce8; } + +.join-telegram { + background: #ff6a46; + color: #FFF; + text-align: center; + padding: 40px 0; } + .join-telegram h2 { + font-size: 25px; + font-weight: 700; + margin: 0 0 30px; } + .join-telegram a { + color: #FFF; + display: inline-block; + border: 1px solid #FFF; + border-radius: 3px; + line-height: 47px; + height: 47px; + font-size: 14px; + font-weight: 700; + padding: 0 35px; } + .join-telegram a:hover { + text-decoration: none; } + .join-telegram a img { + margin-right: 8px; } + +.team { + padding-top: 50px; } + .team h2 { + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 70px; + text-align: center; } + .team .team-large a { + display: block; + width: 280px; + width: 224px; + margin: 0 auto; + color: #333333; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + .team .team-large a img { + width: 65%; + margin: 0 auto; + display: block; } + .team .team-large a .row img { + width: auto; + margin-top: 10px; } + .team .team-large a:hover, .team .team-large a:focus, .team .team-large a:active { + outline: none; } + .team .team-large a:hover { + filter: brightness(60%); } + .team .team-large h4 { + font-size: 17px; + font-weight: 500; } + .team .team-large h5 { + font-size: 15px; + font-weight: 500; + color: #ff6a46; } + .team .team-large h3 { + font-size: 17px; + font-size: 13px; + color: #333333; + font-weight: 300; + margin: 15px auto 0; + margin: 0; + line-height: 20px; } + .team .team-large h3 + img { + height: 152px; } + .team .team-large .advisor-logo { + width: 224px; + margin: 0 auto; + min-height: 90px; } + .team .team-large .advisor-logo .row { + margin-left: -5px; + margin-right: -5px; } + .team .team-large .advisor-logo .row div { + padding-left: 5px; + padding-right: 5px; } + .team .team-large .advisor-logo img { + width: 100%; } + .team .team-large .hasVideo a { + position: relative; } + .team .team-large .hasVideo img.videoIcon { + position: absolute; + top: 10px; + left: 22%; + width: 12%; } + .team .team-medium a { + display: block; + width: 203px; + margin: 20px auto 50px; + color: #333333; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + .team .team-medium a img { + width: 65%; + margin: 0 auto; + display: block; } + .team .team-medium a .row img { + width: auto; + margin-top: 15px; } + .team .team-medium a:hover { + filter: brightness(60%); } + .team .team-medium a:hover, .team .team-medium a:focus, .team .team-medium a:active { + outline: none; } + .team .team-medium h4 { + font-weight: 500; + font-size: 17px; + margin: 10px 0 5px; } + .team .team-medium p { + font-weight: 300; + font-size: 15px; + color: #ff6a46; } + .team .team-small a { + display: block; + width: 100%; + margin: 20px auto 50px; + color: #333333; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + .team .team-small a img { + width: 65%; + margin: 0 auto; + display: block; } + .team .team-small a .row { + margin: 0px; } + .team .team-small a .row > div { + padding: 0px; } + .team .team-small a .row img { + width: auto; + margin-top: 15px; } + .team .team-small a:hover { + filter: brightness(60%); } + .team .team-small a:hover, .team .team-small a:focus, .team .team-small a:active { + outline: none; } + .team .team-small h4 { + font-weight: 500; + font-size: 15px; + margin: 10px 0 5px; } + .team .team-small p { + font-weight: 300; + font-size: 15px; + color: #ff6a46; } + +.contributors ul { + padding: 0px; + list-style-type: none; } + .contributors ul li { + width: 6%; + margin: 0.33%; + display: inline-block; } + .contributors ul li img { + width: 100%; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + .contributors ul li a { + display: block; + position: relative; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + .contributors ul li a:focus, .contributors ul li a:active { + outline: none; } + .contributors ul li a:hover { + outline: none; } + .contributors ul li a:hover img { + filter: brightness(60%) grayscale(100%); + -webkit-filter: brightness(60%) grayscale(100%); } + .contributors ul li a:hover:after { + content: ''; + background: url("../img/right-orange-arrow-thick.png") no-repeat center; + position: absolute; + display: block; + width: 12px; + height: 24px; + top: 50%; + left: 50%; + margin-top: -12px; + margin-left: -6px; + z-index: 999; } + +.modal-backdrop.in { + filter: alpha(opacity=70); + opacity: .7; } + +.team-modal .modal-dialog { + width: 800px; } + .team-modal .modal-dialog button.close { + opacity: 1; + color: #333; + font-size: 36px; } + .team-modal .modal-dialog button.close:focus, .team-modal .modal-dialog button.close:active { + outline: none; } + .team-modal .modal-dialog br + img { + width: 90%; + margin: 0 auto; + display: block; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); } + .team-modal .modal-dialog h2 { + margin: 0 0 10px; + font-size: 25px; + font-weight: 700; + color: #333; } + .team-modal .modal-dialog h5 { + margin: 0 0 10px; + font-size: 17px; + font-weight: 500; + color: #333; } + .team-modal .modal-dialog p { + margin: 0 0 25px; + font-size: 15px; + font-weight: 300; + color: #333; } + .team-modal .modal-dialog p span { + font-weight: 500; } + .team-modal .modal-dialog a { + display: inline-block; + margin-right: 10px; } + .team-modal .modal-dialog a.repo-contrib { + text-decoration: underline; + margin-right: 3px; + font-weight: 700; + color: #333; } + .team-modal .modal-dialog .modal-content { + box-shadow: none; + border-radius: 3px; } + .team-modal .modal-dialog .modal-content .modal-body { + padding-bottom: 50px; } + .team-modal .modal-dialog .videoWrapper { + margin: 0 0 15px; + padding-top: 0px; } + .team-modal .modal-dialog .videoWrapper iframe { + padding: 0px; } + +.add-blur { + filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='3'); + -webkit-filter: url(#blur-filter); + filter: url(#blur-filter); + -webkit-filter: blur(4px); + filter: blur(4px); } + .add-blur:after { + content: ''; + display: block; + background: red; + background: rgba(0, 0, 0, 0.35); + position: absolute; + top: 99px; + left: 0; + bottom: 0; + right: 0; } + +.fundraising-goals { + position: relative; } + .fundraising-goals .blur-svg { + display: none; } + .fundraising-goals h2 { + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + text-align: center; + margin: 0 auto; + line-height: 99px; } + .fundraising-goals h4 { + font-size: 19px; + font-weight: 500; + color: #333333; + line-height: 50px; + margin: 20px 0 30px; } + .fundraising-goals img { + height: 297px; } + .fundraising-goals .market-cap { + width: 1100px; + margin: 0 auto; } + .fundraising-goals .market-cap .row { + margin-left: -2px; + margin-right: -2px; } + .fundraising-goals .market-cap .row div { + padding-left: 2px; + padding-right: 2px; } + .fundraising-goals p { + font-weight: 500; + line-height: 60px; + background: #c7c7bf; + font-size: 17px; + color: #333333; + text-align: center; } + .fundraising-goals .blur-funds { + padding-top: 20px; + padding-bottom: 50px; } + .fundraising-goals .not-from-us { + background: #FFF; + width: 460px; + padding: 20px; + position: absolute; + z-index: 2; + left: 50%; + margin-left: -230px; + top: 190px; } + .fundraising-goals .not-from-us p { + background: #FFF; + font-size: 15px; + color: #333; + font-weight: 500; + margin: 0 0 20px; + line-height: normal; } + .fundraising-goals .not-from-us a { + border-radius: 3px; + background: #ff6a46; + color: #FFF; + font-size: 15px; + font-weight: 500; + display: inline-block; + padding: 10px 15px; } + .fundraising-goals .not-from-us a:active, .fundraising-goals .not-from-us a:focus, .fundraising-goals .not-from-us a:hover { + text-decoration: none; } + .fundraising-goals a.btn-orange { + border-radius: 3px; + background: #ff6a46; + color: #FFF; + font-size: 15px; + font-weight: 500; + display: inline-block; + padding: 10px 15px; } + .fundraising-goals a.btn-orange:active, .fundraising-goals a.btn-orange:focus, .fundraising-goals a.btn-orange:hover { + text-decoration: none; } + .fundraising-goals.offsetMe h2:before { + content: ""; + display: block; + height: 58px; } + .fundraising-goals.offsetMe .add-blur:after { + top: 157px; } + +.daily-dav { + background: #f7f7f7; + padding: 45px 0 80px; } + .daily-dav h2 { + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + text-align: center; } + .daily-dav p { + color: #333333; + font-size: 15px; + font-weight: 300; + margin: 0 0 25px; } + .daily-dav p:first-child { + margin-top: 85px; } + .daily-dav img { + margin-top: 75px; + width: 100%; } + .daily-dav a { + color: #4c7ce8; + font-size: 14px; + font-weight: 500; } + .daily-dav a span { + border-bottom: 1px solid #4c7ce8; } + .daily-dav a img { + width: auto; + margin: 0 0 0 5px; } + .daily-dav a:active, .daily-dav a:focus, .daily-dav a:hover { + text-decoration: none; } + +.crowd-sale { + background: #ff6a46; + padding: 40px 0 60px; + text-align: center; } + .crowd-sale h3 { + color: #FFF; + font-size: 17px; + font-weight: 700; + margin: 0 0 20px; } + .crowd-sale .join-crowd-sale { + width: 385px; + margin: 0 auto; } + .crowd-sale .join-crowd-sale input[type=email] { + border: 1px solid #FFF; + border-radius: 3px; + background: rgba(255, 255, 255, 0.3); + background: transparent; + height: 37px; + display: block; + width: 100%; + padding: 0 10px; + font-weight: 500; + color: #FFF; + font-size: 15px; } + .crowd-sale .join-crowd-sale input[type=email]::-webkit-input-placeholder { + color: #FFF; } + .crowd-sale .join-crowd-sale input[type=email]:-moz-placeholder { + color: #FFF; } + .crowd-sale .join-crowd-sale input[type=email]::-moz-placeholder { + color: #FFF; } + .crowd-sale .join-crowd-sale input[type=email]:-ms-input-placeholder { + color: #FFF; } + .crowd-sale .join-crowd-sale input[type=submit] { + border-radius: 3px; + font-size: 15px; + font-weight: bold; + color: #ff6a46; + background: #FFF; + border: 1px solid #FFF; + display: block; + width: 100%; + height: 37px; } + +.faq-questions { + padding-top: 75px; + padding-bottom: 60px; } + .faq-questions h2 { + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + text-align: center; } + .faq-questions p { + margin: 0px; } + .faq-questions h3 { + text-align: center; + margin: 60px 0 0; } + .faq-questions h3 a { + color: #333; + font-size: 17px; + font-weight: 700; } + .faq-questions h3 a:hover, .faq-questions h3 a:active, .faq-questions h3 a:focus { + text-decoration: none; } + .faq-questions h3 a img { + margin-left: 10px; + height: 50px; } + .faq-questions .panel { + border-bottom: 1px solid #d4d4d4 !important; + border-radius: 0px; + margin-bottom: 10px; + padding-bottom: 10px; + box-shadow: none; } + .faq-questions .panel .panel-heading { + padding: 5px 15px; } + .faq-questions .panel .panel-heading .panel-title a { + font-size: 15px; + color: #333333; + font-weight: 500; + display: block; + padding-right: 50px; + background: url("../img/faq-down.png") no-repeat top 4px right; } + .faq-questions .panel .panel-heading .panel-title a[aria-expanded=true] { + background: url("../img/faq-up.png") no-repeat top 4px right; } + .faq-questions .panel .panel-heading .panel-title a:hover, .faq-questions .panel .panel-heading .panel-title a:active, .faq-questions .panel .panel-heading .panel-title a:focus { + text-decoration: none; } + .faq-questions .panel .panel-body { + padding: 0 15px; + border: none !important; } + +footer { + padding: 0; } + footer .footer-gray { + background: #333333; + padding: 35px 0; + color: #FFF; } + footer .social a { + display: inline-block; + margin: 20px 23px; } + footer .social a img { + height: 50px; } + footer h3 { + font-size: 25px; + font-weight: 700; + margin: 30px 0 30px; + color: #333333; + text-align: center; } + footer .links p, footer .links a { + font-size: 15px; + color: #271e36; + font-weight: 300; + text-decoration: underline; + line-height: 30px; } + footer .links p { + text-decoration: none; + margin-bottom: 30px; } + footer .line { + height: 1px; + background: #d4d4d4; + margin-bottom: 30px; } + footer .about-legal h4 { + font-size: 15px; + color: #FFF; + font-weight: 700; + line-height: 30px; + margin: 0px; } + footer .about-legal a { + font-size: 15px; + display: block; + line-height: 30px; + color: #FFF; + margin-top: 18px; } + footer .about-legal .social a { + display: inline-block; + min-width: 32%; + margin: 6px 0; } + footer .about-legal .social a img { + margin-right: 6px; + display: inline-block; + height: 38px; } + footer .copyright { + font-size: 13px; + color: #FFF; + text-align: center; + margin-top: 40px; } + +.hero.hero-media { + background: url(../img/media/media.jpg) no-repeat center; + background-size: cover; } + .hero.hero-media .hero-inner { + height: 30.71428571428571vw !important; } + +.press-releases h2 { + font-size: 31px; + color: #333; + font-weight: 700; + text-align: center; + margin: 55px 0 40px; } +.press-releases a:hover, .press-releases a:active, .press-releases a:focus { + text-decoration: none; } +.press-releases a.show-more { + display: inline-block; + padding: 10px 15px; + background: #f1f1f2; + color: #ff6a46; + font-size: 15px; + font-weight: 500; + border-radius: 3px; } +.press-releases article { + min-height: 270px; + position: relative; + text-align: center; + padding: 20px; + margin: 0 15px 75px; + -webkit-box-shadow: 0px 0px 21px 7px rgba(200, 202, 205, 0.74); + -moz-box-shadow: 0px 0px 21px 7px rgba(200, 202, 205, 0.74); + box-shadow: 0px 0px 21px 7px rgba(200, 202, 205, 0.74); } + .press-releases article h5 { + font-size: 15px; + font-weight: 500; + color: #ff6a46; } + .press-releases article p { + font-size: 13px; + font-weight: 300; + color: #484c59; + margin: 0px; } + .press-releases article h6 { + font-size: 11px; + font-weight: 500; + color: #484c59; + font-style: italic; + position: absolute; + bottom: 20px; + width: 100%; + margin: 0px; + margin-left: -15px; } + +.media-articles h2 { + font-size: 31px; + color: #333; + font-weight: 700; + text-align: center; + margin: 55px 0 40px; } +.media-articles a:hover, .media-articles a:active, .media-articles a:focus { + text-decoration: none; } +.media-articles a.show-articles { + display: inline-block; + padding: 10px 15px; + background: #f1f1f2; + color: #ff6a46; + font-size: 15px; + font-weight: 500; + border-radius: 3px; } +.media-articles a article { + position: relative; + min-height: 430px; + margin: 0 15px 64px; + -webkit-box-shadow: 0px 0px 21px 7px rgba(200, 202, 205, 0.74); + -moz-box-shadow: 0px 0px 21px 7px rgba(200, 202, 205, 0.74); + box-shadow: 0px 0px 21px 7px rgba(200, 202, 205, 0.74); } + .media-articles a article > img { + width: 100%; } + .media-articles a article h4 { + color: #ff6a46; + font-size: 19px; + font-weight: 700; + margin: 0px; + padding: 15px; + line-height: 30px; + text-transform: uppercase; } + .media-articles a article .row { + position: absolute; + bottom: 0px; + width: 100%; + margin-left: 0px; } + .media-articles a article .row h5 { + color: #484c59; + font-size: 15px; + font-weight: 700; + margin: 0 0 0 -15px; + line-height: 21px; } + .media-articles a article .row h6 { + color: #484c59; + font-size: 15px; + font-weight: 300; + line-height: 21px; + margin: 0 0 20px -15px; } + +.media-gallery h2 { + font-size: 31px; + color: #333; + font-weight: 700; + text-align: center; + margin: 55px 0 40px; } +.media-gallery img { + margin: 0 40px; } +.media-gallery .arrow-left.slick-arrow { + margin: 0px; + position: absolute; + left: -59px; + top: 25%; + cursor: pointer; } +.media-gallery .arrow-right.slick-arrow { + margin: 0px; + position: absolute; + right: -59px; + top: 25%; + cursor: pointer; } +.media-gallery a:hover, .media-gallery a:active, .media-gallery a:focus { + outline: none; } + +.hidden-press, .hidden-articles { + display: none; } + +.alert-bottom { + position: fixed; + bottom: 0px; + left: 0px; + width: 100%; } + +.alert-announcement { + background: rgba(255, 255, 255, 0.3); + background: rgba(55, 201, 182, 0.9); + background: rgba(51, 51, 51, 0.9); + color: #FFF; + border-radius: 0px; + padding: 5px 15px; + margin: 0px; } + .alert-announcement .close { + color: #FFF; + box-shadow: none; + font-weight: 300; + opacity: 1; + font-size: 30px; + position: absolute; } + .alert-announcement p { + font-size: 15px; + padding-left: 30px; + display: inline-block; + margin: 0px !important; + line-height: 30px; } + .alert-announcement p a { + color: #FFF; + text-decoration: underline !important; + font-weight: 700; } + +.hero.hero-prototypes { + background: #000 url(../img/prototypes/hero.jpg) no-repeat center; + background-size: cover; } + .hero.hero-prototypes .hero-inner .hero-valign { + vertical-align: top; } + .hero.hero-prototypes h1 { + margin: 10% 0 !important; } + .hero.hero-prototypes h2 { + font-size: 24px; + font-weight: 700; + margin: 0 0 20px; } + .hero.hero-prototypes p { + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; } + .hero.hero-prototypes p span { + font-weight: 700; } + .hero.hero-prototypes #iphonex { + margin-top: -90px; + position: absolute; } + .hero.hero-prototypes #drone { + position: absolute; + top: 5%; + left: 20%; + -webkit-animation: balls 4s infinite; + animation: balls 4s infinite; + -webkit-animation-timing-function: cubic-bezier; + animation-timing-function: cubic-bezier; } + .hero.hero-prototypes a { + display: block; + color: #ff6a46; + line-height: 30px; + font-weight: 700; + font-size: 16px; } + +@-webkit-keyframes balls { + from { + -webkit-transform: translateY(0); } + 50% { + -webkit-transform: translateY(70px); } + to { + -webkit-transform: translateY(0); } } +@keyframes balls { + from { + transform: translateY(0); } + 50% { + transform: translateY(70px); } + to { + transform: translateY(0); } } +.drone-charge { + background: url(../img/prototypes/drone_charge.png) no-repeat center center; + background-size: auto 90%; + height: 90vh; } + .drone-charge h2 { + font-size: 24px; + font-weight: 700; + margin: 20% 0 20px; } + .drone-charge p { + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; } + .drone-charge p span { + font-weight: 700; } + .drone-charge a { + display: block; + color: #363840; + color: #ff6a46; + line-height: 30px; + font-weight: 700; + font-size: 16px; } + +.drone-flight-planning { + background: #363840 url("../img/prototypes/route-plan.jpg") no-repeat top center; + height: 50vw; + position: relative; + overflow: hidden; } + .drone-flight-planning h2 { + font-size: 24px; + font-weight: 700; + margin: 20% 0 20px; + color: #FFF; } + .drone-flight-planning p { + color: #FFF; + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; } + .drone-flight-planning p span { + font-weight: 700; } + .drone-flight-planning a { + display: block; + color: #363840; + color: #ff6a46; + line-height: 30px; + font-weight: 700; + font-size: 16px; } + .drone-flight-planning img { + width: 80%; + margin-top: 10%; } + .drone-flight-planning video { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + width: 100%; } + .drone-flight-planning .container { + z-index: 2; + position: relative; } + +.dav-cli { + background: url(../img/prototypes/orange-bg.jpg) no-repeat center; + background-size: cover; + color: #FFF; + padding-top: 120px; } + .dav-cli h2 { + font-size: 24px; + font-weight: 700; + margin: 0 0 20px; } + .dav-cli h2#portal-title { + margin-top: 30px; } + .dav-cli p { + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; } + .dav-cli p span { + font-weight: 700; } + .dav-cli #laptop { + margin-top: -30px; } + .dav-cli a { + display: block; + color: #fff; + line-height: 30px; + font-weight: 700; + font-size: 16px; } + .dav-cli a#developer-portal-link { + margin-bottom: 25px; } + .dav-cli #car { + margin-top: 54px; } + +.dav-portal { + background: #363840 url(../img/prototypes/orange-links.png) no-repeat center bottom; + background-size: 100%; + height: 45.71428571428571vw; + text-align: center; } + .dav-portal img { + margin-top: -165px; + position: relative; + z-index: 2; } + +.block-explorer { + background: #f7f7f7; + color: #363840; } + .block-explorer img { + width: 100%; + margin-top: 42px; + margin-bottom: 1px; } + .block-explorer h2 { + font-size: 24px; + font-weight: 700; + margin: 32% 0 20px; } + .block-explorer p { + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; } + .block-explorer p span { + font-weight: 700; } + .block-explorer a { + display: block; + color: #363840; + color: #ff6a46; + line-height: 30px; + font-weight: 700; + font-size: 16px; } + +.mission-control, .search-rescue { + color: #2b2d33; + padding-top: 110px; + padding-bottom: 110px; } + .mission-control img, .search-rescue img { + width: 100%; } + .mission-control h2, .search-rescue h2 { + font-size: 24px; + font-weight: 700; + margin: 40px 0 20px; } + .mission-control h2#second-title, .search-rescue h2#second-title { + margin-top: 110px; } + .mission-control p, .search-rescue p { + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; } + .mission-control p span, .search-rescue p span { + font-weight: 700; } + .mission-control a, .search-rescue a { + display: block; + color: #ff6a46; + line-height: 30px; + font-weight: 700; + font-size: 16px; } + .mission-control .mission-vid, .search-rescue .mission-vid { + position: relative; } + .mission-control .mission-vid video, .search-rescue .mission-vid video { + position: absolute; + top: 51px; + left: 50%; + width: 417px; + height: 315px; + margin-left: -208px; + object-fit: fill; } + +.search-rescue { + background: #f7f7f7 url(../img/prototypes/gray-links.png) no-repeat center bottom; + background-size: 100%; + height: 45.71428571428571vw; + padding: 80px 0 0; } + .search-rescue img { + width: auto; } + .search-rescue img#rover { + margin-right: 50px; } + +.hero.hero-careers { + background: #000 url(../img/careers.jpg) no-repeat center; + background-size: cover; } + .hero.hero-careers .hero-inner { + height: 30.71428571428571vw !important; } + +.under-careers { + text-align: center; } + .under-careers p { + font-size: 17px; + color: #484c59; + font-weight: 300; + margin: 40px 0 0; } + .under-careers p a { + font-weight: 700; + color: #484c59; + text-decoration: underline; } + +.job-list h2 { + font-size: 31px; + color: #333; + font-weight: 700; + text-align: center; + margin: 55px 0 40px; } +.job-list a:hover, .job-list a:active, .job-list a:focus { + text-decoration: none; } +.job-list a.show-more { + display: inline-block; + padding: 10px 15px; + background: #f1f1f2; + color: #ff6a46; + font-size: 15px; + font-weight: 500; + border-radius: 3px; } +.job-list article { + min-height: 270px; + position: relative; + text-align: center; + padding: 20px; + margin: 0 15px 75px; + -webkit-box-shadow: 0px 0px 21px 7px rgba(200, 202, 205, 0.74); + -moz-box-shadow: 0px 0px 21px 7px rgba(200, 202, 205, 0.74); + box-shadow: 0px 0px 21px 7px rgba(200, 202, 205, 0.74); } + .job-list article h5 { + font-size: 20px; + font-weight: 700; + color: #ff6a46; + margin: 0 0 20px; } + .job-list article p { + font-size: 15px; + font-weight: 400; + color: #333; + margin: 0 0 20px; } + .job-list article h6 { + font-size: 15px; + font-weight: 700; + color: #333; + margin: 0px; } + .job-list article h6:after { + content: ''; + display: block; + width: 50%; + height: 1px; + background: #ff6a46; + margin: 20px auto 25px; } + +.team-modal.job-modal .modal-dialog { + width: 640px; } +.team-modal.job-modal .modal-body { + padding-left: 80px; + padding-right: 80px; } + .team-modal.job-modal .modal-body .close { + position: absolute; + right: 5px; + top: 0px; } +.team-modal.job-modal h5 { + font-size: 20px; + font-weight: 700; + color: #ff6a46; + margin: 0 0 20px; + text-align: center; } +.team-modal.job-modal h6 { + text-align: center; + font-size: 15px; + font-weight: 300; + color: #333; + margin: 0px; } + .team-modal.job-modal h6:after { + content: ''; + display: block; + width: 150px; + height: 1px; + background: #ff6a46; + margin: 20px auto 25px; } + .team-modal.job-modal h6 span { + font-weight: 700; } +.team-modal.job-modal p { + font-size: 15px; + font-weight: 400; + color: #333; + margin: 0 0 10px; } + .team-modal.job-modal p a { + font-weight: 700; + color: #333; + text-decoration: underline; } +.team-modal.job-modal ul { + list-style: none; + padding: 0; + margin: 0; } +.team-modal.job-modal li { + font-size: 15px; + font-weight: 400; + color: #333; + margin: 0 0 5px; } +.team-modal.job-modal li::before { + content: '\2022'; + color: red; + padding-right: 5px; + font-size: 20px; + display: inline-block; } + +.team-modal.kyc-modal .modal-body { + padding: 0 0 30px !important; } + .team-modal.kyc-modal .modal-body h3 { + margin: 0px; + background: #333 url(../img/kyc-header.jpg) no-repeat center; + background-size: cover; + line-height: 160px; + color: #FFF; + font-weight: 700; + border: 1px solid #FFF; } + .team-modal.kyc-modal .modal-body h4 { + font-weight: 700; + color: #ff6a46; } + .team-modal.kyc-modal .modal-body p { + padding: 0 30px; } + .team-modal.kyc-modal .modal-body p a { + margin: 0; + color: #ff6a46; } + .team-modal.kyc-modal .modal-body p.kyc-medium a, .team-modal.kyc-modal .modal-body p.kyc-telegram a, .team-modal.kyc-modal .modal-body p.kyc-telegram2 a { + color: #ff6a46; } + .team-modal.kyc-modal .modal-body button, .team-modal.kyc-modal .modal-body .kyc-button { + border: none; + color: #FFF; + font-weight: 500; + background: #ff6a46; + font-size: 18px; + border-radius: 3px; + padding: 10px 20px; } + .team-modal.kyc-modal .modal-body button:hover, .team-modal.kyc-modal .modal-body button:active, .team-modal.kyc-modal .modal-body button:focus, .team-modal.kyc-modal .modal-body .kyc-button:hover, .team-modal.kyc-modal .modal-body .kyc-button:active, .team-modal.kyc-modal .modal-body .kyc-button:focus { + text-decoration: none; } + .team-modal.kyc-modal .modal-body button.close, .team-modal.kyc-modal .modal-body .kyc-button.close { + background: none; + font-size: 30px; + position: absolute; + top: 5px; + right: 5px; + padding: 10px; + line-height: 15px; } + .team-modal.kyc-modal .modal-body input[type=email] { + display: block; + width: 40%; + padding: 0 15px; + line-height: 44px; + height: 44px; + font-size: 17px; + margin: 60px auto 40px; + border: 2px solid #000; + border-radius: 5px; } + .team-modal.kyc-modal .modal-body h5 { + color: red; + margin: -20px 0 20px; } + +.hero.hero-blockchain { + background: #333 url(../img/blockchain-today/hero.jpg) no-repeat center; + background-size: cover; } + .hero.hero-blockchain .hero-inner { + height: 36.71428571428571vw !important; } + .hero.hero-blockchain h3 { + font-size: 21px; + font-weight: 400; } + +.peer-to-peer { + background: #eeeded url("../img/prototypes/gray-links.png") no-repeat center bottom -100px; + background-size: 100% auto; + padding: 60px 0 135px; } + .peer-to-peer h2 { + font-size: 27px; + font-weight: 700; + color: #131313; + margin-top: 15%; } + .peer-to-peer p { + font-size: 17px; + font-weight: 400; + color: #131313; } + +.open-source { + background: #eeeded url("../img/blockchain-today/code.jpg") no-repeat center; + background-size: cover; + padding: 45px 0; + color: #FFF; } + .open-source h2 { + font-size: 27px; + font-weight: 700; } + .open-source p { + font-size: 17px; + font-weight: 400; + line-height: 30px; } + .open-source .people-taxi { + position: relative; + bottom: -110px; } + +.every-feature h2 { + font-size: 25px; + font-weight: 700; + color: #131313; } +.every-feature p { + font-size: 17px; + font-weight: 400; + color: #131313; } +.every-feature .puzzle-container { + margin-top: -300px; } +.every-feature .phone-puzzle { + position: relative; + top: 0px; + -webkit-transition: all 1.4s ease-out; + -moz-transition: all 1.4s ease-out; + transition: all 1.4s ease-out; } + .every-feature .phone-puzzle .iPhoneX { + background: url("../img/blockchain-today/iPhoneX.png") no-repeat center; + width: 250px; + height: 506px; + margin: -300px auto 0; + margin: 0 auto 0; + position: relative; } + .every-feature .phone-puzzle .iPhoneX .case { + background: url("../img/blockchain-today/case.png") no-repeat center; + width: 250px; + height: 506px; + position: absolute; + top: 0px; + left: 0; + z-index: 3; } + .every-feature .phone-puzzle .puzzle { + position: absolute; + left: 50%; + margin-left: -125px; + top: 412px; + z-index: 2; + display: none; } + .every-feature .phone-puzzle .puzzle.p1 { + margin-left: -1240px; + -webkit-transition: all 0.8s linear; + -moz-transition: all 0.8s linear; + transition: all 0.8s linear; } + .every-feature .phone-puzzle .puzzle.p2 { + margin-left: 1109px; + -webkit-transition: all 1s linear; + -moz-transition: all 1s linear; + transition: all 1s linear; } + .every-feature .phone-puzzle .puzzle.p3 { + margin-left: -1250px; + top: 587px; + -webkit-transition: all 1.2s linear; + -moz-transition: all 1.2s linear; + transition: all 1.2s linear; } + .every-feature .phone-puzzle .puzzle.p4 { + margin-left: 1150px; + top: 550px; + -webkit-transition: all 1.4s linear; + -moz-transition: all 1.4s linear; + transition: all 1.4s linear; } + .every-feature .phone-puzzle .puzzle.p5 { + margin-left: -1260px; + top: 714px; + -webkit-transition: all 1.6s linear; + -moz-transition: all 1.6s linear; + transition: all 1.6s linear; } + .every-feature .phone-puzzle .puzzle.p6 { + margin-left: 1129px; + top: 750px; + -webkit-transition: all 1.8s linear; + -moz-transition: all 1.8s linear; + transition: all 1.8s linear; } + .every-feature .phone-puzzle.end { + top: 440px; } + .every-feature .phone-puzzle.end .puzzle { + position: absolute; + left: 50%; + margin-left: -125px; + top: 12px; } + .every-feature .phone-puzzle.end .puzzle.p1 { + margin-left: -110px; } + .every-feature .phone-puzzle.end .puzzle.p2 { + margin-left: -41px; } + .every-feature .phone-puzzle.end .puzzle.p3 { + margin-left: -110px; + top: 177px; } + .every-feature .phone-puzzle.end .puzzle.p4 { + margin-left: -6px; + top: 140px; } + .every-feature .phone-puzzle.end .puzzle.p5 { + margin-left: -110px; + top: 294px; } + .every-feature .phone-puzzle.end .puzzle.p6 { + margin-left: -43px; + top: 332px; } + +.blockchain-video h2 { + font-size: 25px; + font-weight: 700; + color: #131313; } + +.carousel-fade .carousel-inner .item { + transition-property: opacity; } +.carousel-fade .carousel-inner .item, +.carousel-fade .carousel-inner .active.left, +.carousel-fade .carousel-inner .active.right { + opacity: 0; } +.carousel-fade .carousel-inner .active, +.carousel-fade .carousel-inner .next.left, +.carousel-fade .carousel-inner .prev.right { + opacity: 1; } +.carousel-fade .carousel-inner .next, +.carousel-fade .carousel-inner .prev, +.carousel-fade .carousel-inner .active.left, +.carousel-fade .carousel-inner .active.right { + left: 0; + transform: translate3d(0, 0, 0); } +.carousel-fade .carousel-control { + z-index: 2; } + +.blockchain-carousel { + padding-top: 135px; } + .blockchain-carousel h1 { + text-align: center; + font-size: 27px; + color: #131313; + font-weight: 700; + margin: 0 0 60px; + padding: 0 15px; } + .blockchain-carousel .carousel .item img { + width: 100%; } + .blockchain-carousel .carousel .item .carousel-caption { + position: static; + text-shadow: none; + color: #131313; + min-height: 150px; + padding: 0px 100px; } + .blockchain-carousel .carousel .item .carousel-caption h2 { + font-size: 22px; + font-weight: 700; } + .blockchain-carousel .carousel .item .carousel-caption p { + font-size: 15px; + font-weight: 400; } + .blockchain-carousel .carousel .carousel-control { + background: none; + opacity: 1; } + .blockchain-carousel .carousel .carousel-control span { + top: 75px; } + .blockchain-carousel .carousel .carousel-control span.glyphicon-chevron-left { + width: 16px; + height: 31px; + background: url("../img/blockchain-today/arrow-left.png") no-repeat center; } + .blockchain-carousel .carousel .carousel-control span.glyphicon-chevron-left:before { + content: ''; } + .blockchain-carousel .carousel .carousel-control span.glyphicon-chevron-right { + width: 16px; + height: 31px; + background: url("../img/blockchain-today/arrow-right.png") no-repeat center; } + .blockchain-carousel .carousel .carousel-control span.glyphicon-chevron-right:before { + content: ''; } + +.kyc-top { + background: url("../img/prototypes/gray-links.png") no-repeat bottom center; + background-size: 100%; + margin-bottom: 30px; } + .kyc-top h1 { + margin: 54px 0 0; + padding: 45px 0; + font-size: 27px; + color: #333; + font-weight: 700; + text-align: center; } + .kyc-top p { + font-size: 15px; + color: #333; + font-weight: 400; } + .kyc-top p a { + color: #ff6a46; } + .kyc-top .token-details { + border: 1px solid #484848; + background: #FFF; + padding: 32px 64px; } + .kyc-top .token-details .details-row { + border-bottom: 1px solid #ebebeb; } + .kyc-top .token-details .details-row p { + margin: 0px; + line-height: 40px; } + .kyc-top .token-details .details-row p.halfHeight { + line-height: 24px; } + .kyc-top .token-details .details-row:last-child { + border: none; } + +.kyc-page { + padding-bottom: 110px; } + .kyc-page h4 { + font-size: 19px; + color: #333; + font-weight: 700; + margin-top: 20px; } + .kyc-page h4:before { + content: ""; + display: block; + width: 150px; + height: 1px; + background: #ff6a46; + margin-top: 20px; + margin-bottom: 20px; } + .kyc-page h4:first-child:before { + display: none; } + .kyc-page h4.orange { + color: #ff6a46; + text-align: center; + font-weight: 500; } + .kyc-page h4.orange:before { + display: none; } + .kyc-page ol, .kyc-page ul { + padding-left: 20px; } + .kyc-page ol.line-list, .kyc-page ul.line-list { + list-style-type: none; + padding: 0px; } + .kyc-page ol.line-list li::before, .kyc-page ul.line-list li::before { + content: "\2014"; + color: #ff6a46; + margin-right: 5px; } + .kyc-page ol.disc-list, .kyc-page ul.disc-list { + list-style-type: none; + padding: 0px; } + .kyc-page ol.disc-list > li::before, .kyc-page ul.disc-list > li::before { + content: "\25CF"; + color: #000; + margin-right: 5px; } + .kyc-page ol.orange-list > li::before, .kyc-page ul.orange-list > li::before { + color: #ff6a46; } + .kyc-page ol.lower-alpha, .kyc-page ul.lower-alpha { + list-style-type: lower-alpha; + padding-left: 30px; } + .kyc-page ol.lower-alpha > li, .kyc-page ul.lower-alpha > li { + font-weight: 700; } + .kyc-page ol.lower-alpha > li p, .kyc-page ul.lower-alpha > li p { + font-weight: 400; + margin: 0px; } + .kyc-page ol.number-list, .kyc-page ul.number-list { + list-style-type: none; + padding-left: 0px; } + .kyc-page ol.number-list > li, .kyc-page ul.number-list > li { + font-weight: 400; + margin: 3.5px 0; } + .kyc-page ol.number-list > li span, .kyc-page ul.number-list > li span { + font-weight: 700; + width: 27px; + height: 27px; + margin: 0px; + display: inline-block; + background: #d0d0d0; + color: #333; + margin-right: 8px; + text-align: center; + border-radius: 50%; } + .kyc-page ol.high-line > li, .kyc-page ul.high-line > li { + line-height: 32px; } + .kyc-page p, .kyc-page li { + font-size: 15px; + color: #333; + font-weight: 300; + line-height: 27px; + padding: 0px; } + .kyc-page p span, .kyc-page li span { + font-weight: 700; } + .kyc-page p a, .kyc-page li a { + color: #ff6a46; + text-decoration: underline; } + .kyc-page h3 { + color: #000; + font-size: 19px; + font-weight: 300; + margin-top: 30px; + line-height: 30px; } + +.hero.hero-terms { + background: #000 url(../img/terms.jpg) no-repeat center; + background-size: cover; } + .hero.hero-terms .hero-inner { + height: 36.71428571428571vw !important; } + +.hero.hero-privacy { + background: #000 url(../img/privacy.jpg) no-repeat center; + background-size: cover; } + .hero.hero-privacy .hero-inner { + height: 36.71428571428571vw !important; } + .hero.hero-privacy .hero-inner h2 { + font-size: 23px; + font-weight: 700; + margin: 0 0 15px; } + +.hero-privacy + .legal-page h2 { + margin: 55px 0 25px; } + +.legal-page h2 { + font-weight: 700; + font-size: 22px; + color: #1c1e1c; + text-align: center; + margin: 55px 0 45px; } +.legal-page h3 { + font-weight: 700; + font-size: 17px; + color: #1c1e1c; + margin: 0 0 15px; } +.legal-page p, .legal-page li { + font-weight: 400; + font-size: 15px; + color: #1c1e1c; + margin: 0 0 20px; + line-height: 25px; } + .legal-page p a, .legal-page li a { + color: #ff6a46; } +.legal-page li { + margin: 0px; } +.legal-page .disc-list { + margin-top: -15px; } +.legal-page ul { + margin: 0 0 15px; } +.legal-page ol { + margin: 0 0 15px; + list-style-type: none; } + .legal-page ol li { + margin: 10px 0; } + .legal-page ol li span { + font-weight: 700; + margin-left: -30px; + display: block; + float: left; } + +.hero.route-creator { + background: #000 url(../img/route-creator.jpg) no-repeat center; + background-size: cover; } + .hero.route-creator .hero-inner h1 { + font-size: 40px; + font-weight: 700; + color: #ff6a46; + line-height: 50px; + padding-top: 30px; } + .hero.route-creator .hero-inner h2 { + font-size: 25px; + font-weight: 400; + margin: 0 0 45px; } + .hero.route-creator .hero-inner h2 span { + font-weight: 700; } + .hero.route-creator .hero-inner p { + padding-left: 24%; + font-size: 14px; + font-weight: 400; + line-height: 27px; + margin: 0px; } + .hero.route-creator .hero-inner p a { + color: #ff6a46; + font-size: 19px; } + .hero.route-creator .hero-inner p img { + height: 20px; + margin-right: 5px; } + .hero.route-creator .hero-inner .waypoint-plus p { + padding-left: 0; } + .hero.route-creator .hero-inner .waypoint-plus p a:focus, + .hero.route-creator .hero-inner .waypoint-plus p a:active { + text-decoration: none; } + .hero.route-creator .hero-inner .row { + margin-top: 30px; + margin-bottom: 30px; } + .hero.route-creator .hero-inner input[type=text] { + line-height: 27px; + height: 27px; + background: none; + border: none; + color: #FFF; + display: block; + width: 100%; + border-bottom: 1px solid #FFF; + font-size: 12px; } + .hero.route-creator .hero-inner input[type=text]::-webkit-input-placeholder { + color: #FFF; } + .hero.route-creator .hero-inner input[type=text]:-moz-placeholder { + color: #FFF; } + .hero.route-creator .hero-inner input[type=text]::-moz-placeholder { + color: #FFF; } + .hero.route-creator .hero-inner input[type=text]:-ms-input-placeholder { + color: #FFF; } + .hero.route-creator .hero-inner .waypoint p:before { + content: "\25CF"; + color: #ff6a46; + margin-right: 5px; } + .hero.route-creator .hero-inner .waypoint input[type=text] { + color: #ff6a46; } + .hero.route-creator .hero-inner input[type=submit] { + display: block; + background-color: #ff6a46; + color: #FFF; + border: none; + width: 100%; + height: 58px; + font-size: 19px; + border-radius: 6px; + letter-spacing: 1px; + margin: 60px 0 0; + font-weight: 700; } + +@media (max-width: 1400px) { + .nav > li > a { + padding: 10px 7px; } + + .navbar-brand { + padding: 10px; } + + .media-gallery .arrow-left.slick-arrow { + width: 40px; + left: -40px; } + + .media-gallery .arrow-right.slick-arrow { + width: 40px; + right: -40px; } + + .team .team-small a { + min-height: 207px; } + + #iphonex { + height: 640px; } + + #drone { + width: 400px; } + + .dav-cli #laptop { + width: 100%; } + + .navbar.user-scroll .navbar-nav .dropdown-menu::before { + height: 12px; } + + .people-are-talking p { + min-height: 190px; } + + .drone-flight-planning img { + width: 60%; } } +@media (max-width: 1200px) { + .drone-flight-planning { + height: auto; + padding: 100px 0; + background-size: cover; } + .drone-flight-planning img { + width: 80%; } + .drone-flight-planning video { + display: none; } } +@media (max-width: 1025px) { + input[type=text], + input[type=email], + input[type=password], + textarea { + -webkit-appearance: none; } + + .navbar-nav > li > a { + font-size: 12px; } + .navbar-nav > li > a + ul.dropdown-menu > li > a { + font-size: 12px; } + + .best-brands a img { + height: 60px; } + + .fundraising-goals .market-cap { + width: 100%; } + + .as-seen-on img { + height: 100px; } + + .daily-dav p:first-child { + margin-top: 30px; } + + .daily-dav img { + margin-top: 55px; } + + .videoWrapper iframe { + padding: 0px; } + + .video-home p { + padding: 0px; } + + .team .team-small a { + min-height: 280px; + margin: auto; } + + .media-gallery .arrow-left.slick-arrow { + left: -30px; } + + .media-gallery .arrow-right.slick-arrow { + right: -30px; } + + .dav-portal img { + width: 50%; } + + .search-rescue { + height: auto !important; + padding: 80px 0; } + + .search-rescue img#rover { + width: 60%; } + + .dav-alliance img { + height: 65px; } + + .contributors ul li a:hover:after { + display: none; } + + .people-are-talking p { + min-height: 190px; } + + .peer-to-peer img { + width: 100%; } + + .open-source { + height: 47vw; } + + .every-feature { + height: 67vw; } + + .refer-friends #maitre-widget-container, .refer-friends #maitre-widget-popup { + margin-top: 8%; } + + .blockchain-carousel h1 { + margin: 45px 0 60px; } + + .drone-flight-planning h2 { + margin: 5% 0 20px; } + + .drone-flight-planning img { + margin-top: -10px; } + + .hero.route-creator .hero-inner p { + padding-left: 0; } } +@media (max-width: 992px) { + .nav > li > a { + padding: 10px 5px; } + + .best-brands a { + margin: 15px 35px; } + + .illustrations img { + height: 100px; } + + .technologies img { + height: 150px; } + + .technology img { + height: auto; + width: 90%; } + + .as-seen-on img { + height: 80px; } + + .development-tools h4 { + margin-top: 40px; } + .development-tools img { + width: 100%; } + + .fundraising-goals p { + font-size: 13px; } + + .team .team-medium a, + .team .team-large h3, + .team .team-large a { + width: 100%; } + + .team-modal.job-modal .modal-dialog, + .team-modal .modal-dialog { + width: 100%; } + + .team-modal.job-modal .modal-body { + padding-left: 15px; + padding-right: 15px; } + + .navbar-right { + margin-right: 5px; } + .navbar-right img { + margin-right: 0px; + width: 27px; } + + .media-gallery img { + margin: 0 80px; } + + .media-gallery .arrow-left.slick-arrow { + width: 36px; + left: 0px; } + + .media-gallery .arrow-right.slick-arrow { + width: 36px; + right: 0px; } + + .hero.hero-prototypes { + overflow: hidden; } + .hero.hero-prototypes h1 { + padding: 13% 0 !important; } + + .block-explorer h2 { + margin: 24% 0 20px; } + + .mission-control h2#second-title { + margin-top: 50px; } + + .dav-alliance img { + height: 60px; } + + .contributors ul li { + width: 9%; + margin: 0.5%; } + + .navbar .navbar-nav .dropdown a { + min-width: 0px; } + + .open-source, + .every-feature { + padding-bottom: 30px; + height: auto; } + .open-source .puzzle-container, + .every-feature .puzzle-container { + margin-top: 80px; + margin-bottom: 30px; } + .open-source .phone-puzzle.end, + .every-feature .phone-puzzle.end { + top: 0px; } + + .blockchain-middleman h2 { + font-size: 24px; } + .blockchain-middleman p { + padding: 0px; } + .blockchain-middleman .row > div:after { + display: none; } + + .refer-friends #maitre-widget-container, .refer-friends #maitre-widget-popup { + margin-top: 0px; } + + .people-are-talking h2 { + margin: 0px; } + .people-are-talking p { + min-height: 100px; } + .people-are-talking .row > div { + margin-top: 50px; } + + .blockchain-carousel h1 { + margin: 0 0 60px; } + + footer .about-legal .social a { + min-width: 49%; } } +@media (max-width: 767px) { + footer .links { + text-align: center; } + + .navbar-nav > li > a { + font-size: 15px; } + + .navbar-toggle .icon-bar { + background: #ff6a46; } + + .navbar-fixed-top { + background: #FFF; } + .navbar-fixed-top li > a { + color: #333; } + + .navbar-fixed-top .navbar-collapse { + max-height: 100%; } + + .navbar-toggle span.icon-bar { + height: 3px; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + + .navbar-toggle span.icon-bar:nth-child(2) { + -webkit-transition: none; + -moz-transition: none; + transition: none; } + + .navbar-toggle:not(.collapsed) span.icon-bar { + visibility: hidden; } + + .navbar-toggle:not(.collapsed) span.icon-bar:nth-child(3) { + visibility: visible; + width: 20px; + -ms-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + + .navbar-toggle:not(.collapsed) span.icon-bar:nth-child(4) { + visibility: visible; + width: 20px; + -ms-transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + margin-top: -3px; } + + ul.nav { + float: left !important; + width: 50%; + padding-left: 15px; } + + .crowd-sale .join-crowd-sale, + .hero .hero-inner .hero-valign .hero-join { + width: 320px; } + + .hero .hero-inner .hero-valign h1 { + font-size: 25px; + line-height: 30px; + padding-top: 50px; } + + .hero .hero-inner .hero-valign h5 { + margin: 0 0 20px; + font-size: 12px; } + + .join-us-orange a { + margin: 10px 25px; } + + .best-brands a { + margin: 0px; } + .best-brands a img { + height: 70px; + margin: 30px 15px; } + + .illustrations img { + margin-top: 50px; } + + .technology p { + width: 90%; } + + .technologies { + padding-top: 0px; + padding-bottom: 40px; } + .technologies img { + margin: 50px 0 0; } + + .blockchain-enables ul { + padding-left: 5px; } + + .as-seen-on h2 { + margin: 0px; } + .as-seen-on div { + text-align: center !important; } + + .fundraising-goals img { + width: 90%; + height: auto; } + + .partners .row { + margin: 0px; } + + .team-modal .modal-dialog button.close { + position: relative; + z-index: 1999; } + + .modal-dialog { + margin: 0px; } + + .team-modal .modal-dialog h2 { + margin: 10px 0; } + + .team-modal .modal-dialog br + img { + width: 60%; + margin: 0px; } + + .daily-dav img { + width: 100px; + margin: 0 auto; + display: block; } + + .daily-dav a img { + display: inline-block; } + + .media-gallery img { + margin: 0 auto; } + + .alert-announcement { + margin-bottom: 0px; + padding: 15px; } + .alert-announcement p { + font-size: 13px; + line-height: 20px; } + .alert-announcement .close { + line-height: 20px; } + + @-webkit-keyframes balls { + from { + -webkit-transform: translateY(0); } + 50% { + -webkit-transform: translateY(25px); } + to { + -webkit-transform: translateY(0); } } + @keyframes balls { + from { + transform: translateY(0); } + 50% { + transform: translateY(25px); } + to { + transform: translateY(0); } } + .hero.hero-prototypes .text-right { + text-align: center !important; } + + .hero.hero-prototypes h1 { + font-size: 24px !important; } + + .hero.hero-prototypes #iphonex { + position: static; + margin-top: 20px; + width: 65%; + height: auto; + margin-bottom: -25px; } + + .hero.hero-prototypes #drone { + width: 220px; + top: 25%; + left: 25%; } + + .dav-cli { + padding-top: 40px; } + .dav-cli .text-left { + text-align: center !important; } + + .dav-cli #laptop { + margin-top: 20px; + margin-bottom: -50px; } + + .dav-portal img { + margin-top: -50px; } + + .charger-car img { + height: 50px; } + + .dav-cli #car { + margin-top: 0px; } + + .block-explorer { + padding-bottom: 50px; } + .block-explorer h2 { + margin: 50px 0 20px; } + .block-explorer img { + margin: 20px 0; } + + .mission-control, .search-rescue { + padding-top: 50px; + padding-bottom: 50px; + text-align: center !important; } + .mission-control h2, .search-rescue h2 { + margin-top: 0px; } + + .mission-control .text-right { + text-align: center !important; } + + .search-rescue img#rover { + margin-right: 0px; } + + .prototypes-section { + padding-bottom: 50px; } + .prototypes-section .container { + height: auto; + background-position: left 55px top; } + .prototypes-section h2 { + margin-top: 60vw; } + + .team .team-large a .row img, + .team .team-medium a .row img, + .team .team-small a .row img { + width: auto; + margin-top: 12px; + height: 15px; + margin-right: -5px; } + + .team .team-large a .row, + .team .team-medium a .row, + .team .team-small a .row { + margin: 0px; } + .team .team-large a .row div, + .team .team-medium a .row div, + .team .team-small a .row div { + padding: 0px; } + + .team .team-small a img, + .team .team-medium a img, + .team .team-large a img { + width: 100%; } + + .team .team-large .text-center { + text-align: left !important; } + + .team .team-small h4, + .team .team-medium h4, + .team .team-large h4 { + font-size: 13px; + min-height: 32px; + width: 110%; } + + .team .team-small p, + .team .team-medium p, + .team .team-large h5 { + font-size: 12px; + min-height: 40px; + margin: 0px; + width: 120%; + font-weight: 500; } + + .team .team-large h3 { + font-size: 12px; + line-height: 16px; + margin: 0px; + min-height: 67px; + width: 100%; } + + .team .team-large h3 + img { + height: 100px; } + + .team .team-large h4, + .team .team-small h4, + .team .team-medium h4 { + margin: 10px 0 0; + line-height: 20px; } + + .team .team-large h5, + .team .team-small p, + .team .team-medium p { + line-height: 20px; + margin-top: -5px; + margin-top: -12px; } + + .team .team-small a, + .team .team-medium a { + margin: 20px auto 5px; } + + .team .team-small h4 { + font-size: 13px; } + + .team .team-small a { + min-height: 230px; } + + .dav-alliance .col-sm-4 { + width: 50%; } + + .contributors ul li { + width: 18%; + margin: 1%; } + + .alliance-modal.team-modal .modal-dialog { + width: 100%; } + + .team-modal.job-modal .modal-dialog { + padding-top: 0px !important; } + + .team h2 { + margin: 40px 0 30px; } + + .fundraising-goals .not-from-us { + left: 0; + margin-left: 0px; + width: 100%; } + + .team .team-large .advisor-logo { + width: 100%; } + + .team .team-large .advisor-logo img { + width: 115%; } + + .logo-up { + margin-top: -8px; } + + .hero.hero-privacy, + .hero.hero-terms, + .hero.hero-media, + .hero.hero-careers { + margin-top: 54px; } + .hero.hero-privacy .hero-inner .hero-valign h1, + .hero.hero-terms .hero-inner .hero-valign h1, + .hero.hero-media .hero-inner .hero-valign h1, + .hero.hero-careers .hero-inner .hero-valign h1 { + margin: 0px; + padding: 0px; } + + .people-are-talking { + padding-bottom: 0px; } + .people-are-talking p { + min-height: 0px; } + .people-are-talking a { + margin-bottom: 50px; + display: inline-block; } + + .team .team-large .hasVideo img.videoIcon { + left: 10px; } + + .kyc-top .token-details { + padding: 15px; } + .kyc-top .token-details .details-row p { + line-height: normal; + padding: 5px 0px; } + + .hero-blockchain { + margin-top: 54px; + padding: 50px 0; } + + .peer-to-peer { + padding: 50px 0; } + .peer-to-peer h2 { + margin-top: 0; } + .peer-to-peer .text-right { + text-align: center; } + + .every-feature .text-left { + text-align: center; } + + .refer-friends { + background: #f7f7f7 url("../img/prototypes/gray-links.png") no-repeat center bottom; + background-size: 100% auto; } + + .open-source img { + width: 100%; } + + .blockchain-carousel .carousel .item .carousel-caption { + min-height: 200px; + padding: 0px 37px; } + + .blockchain-carousel .carousel .item img { + width: auto; + max-width: 150%; + margin-left: -25%; } + + .team-modal.kyc-modal .modal-body input[type=email] { + width: 89%; } + + .drone-charge { + background: none; + text-align: center; + height: auto; + padding: 60px 0; } + .drone-charge h2 { + margin: 0 0 20px; } + .drone-charge img { + margin-top: 60px; + width: 80%; } + + .drone-flight-planning .text-right { + text-align: center; } + .drone-flight-planning img { + margin-top: 60px; } + + .hero.route-creator .hero-inner input[type=text] { + margin: 0 0 20px; } } +@media (max-height: 767px) { + #iphonex { + height: 530px; } } +@media screen and (-webkit-min-device-pixel-ratio: 0) { + select:focus, + textarea:focus, + input:focus { + font-size: 16px; } } +@media screen and (-webkit-min-device-pixel-ratio: 0) { + select, + textarea, + input { + font-size: 16px; } } +body.iosBugFixCaret.modal-open { + position: fixed; + width: 100%; } + +/*# sourceMappingURL=style.css.map */ diff --git a/src/html/route-creator/css/style.css.map b/src/html/route-creator/css/style.css.map new file mode 100644 index 0000000..06c7420 --- /dev/null +++ b/src/html/route-creator/css/style.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "AAMA,IAAI;EACH,WAAW,EAAE,wBAAwB;;AAGtC,KAAM;EACJ,OAAO,EAAC,IAAI;EACV,kBAAkB,EAAE,IAAI;EACxB,aAAa,EAAE,CAAC;;AAEpB,WAAW;EACV,aAAa,EAAE,GAAG;EAClB,UAAU,EAjBF,OAAO;EAkBf,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,SAAS;EAClB,wDAAwB;IACvB,eAAe,EAAE,IAAI;IACrB,KAAK,EAAE,IAAI;;AAGb,aAAa;EACZ,YAAY,EAAE,GAAG;EACjB,iBAAG;IACF,YAAY,EAAE,GAAG;IACjB,UAAU,EAAE,IAAI;;AAGlB,mBAAoB;EAClB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,GAAG;EACnB,+BAAW;IACV,SAAS,EAAE,KAAK;IAEhB,oHAAwB;MACvB,UAAU,EAAE,OAAO;EAGrB,uCAAmB;IAClB,UAAU,EAAE,OAAO;EAEpB,kCAAc;IACb,aAAa,EAAE,GAAG;IAClB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,KAAK;IAChB,GAAG,EAAE,IAAI;IACT,yCAAI;MACH,KAAK,EAAE,IAAI;MACX,OAAO,EAAE,QAAQ;MACjB,+CAAO;QACN,UAAU,EAAE,WAAW;QACvB,KAAK,EA7DD,OAAO;;AAoEd,wJAAwB;EACrB,UAAU,EAAE,IAAI;AAGpB,mDAAmB;EAChB,UAAU,EAAE,IAAI;AAEjB,8CAAc;EACb,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,0BAA0B;EACtC,qDAAI;IACH,KAAK,EAAE,IAAI;IACX,2DAAO;MACN,UAAU,EAAE,WAAW;MACvB,KAAK,EAlFF,OAAO;EAqFZ,sDAAS;IACR,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,GAAG;;AAOd,oBAAgB;EACf,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,IAAI;EACjB,0BAAO;IACN,UAAU,EAAE,WAAW;IACvB,KAAK,EA1GE,OAAO;EA4Gf,mFAAwB;IACvB,UAAU,EAAE,WAAW;;AAGzB,iCAA6B;EAC5B,SAAS,EAAE,IAAI;;AAEhB,mBAAiB;EAChB,MAAM,EAAE,IAAI;;AAEb,WAAW;EACV,OAAO,EAAE,IAAI;;AAEd,YAAY;EACX,gBAAgB,EAAE,IAAI;EAEnB,UAAU,EAAE,0BAAsB;EACrC,mBAAI;IACH,KAAK,EA9HE,OAAO;IA+Hd,KAAK,EAAE,IAAI;EAEZ,yBAAY;IACX,OAAO,EAAE,IAAI;EAEd,wBAAW;IACV,OAAO,EAAE,YAAY;;AAGvB,KAAK;EACJ,UAAU,EAAE,4CAA4C;EACxD,eAAe,EAAE,KAAK;EACtB,KAAK,EAAE,IAAI;EACX,iBAAW;IACV,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,8BAAY;MACZ,OAAO,EAAE,UAAU;MACnB,cAAc,EAAE,MAAM;MACtB,UAAU,EAAE,MAAM;MAClB,iCAAE;QACD,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,IAAI;MAElB,iCAAE;QACD,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,GAAG;QAChB,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,MAAM;QACf,kDAAgB;UACf,KAAK,EAjKA,OAAO;UAkKZ,OAAO,EAAE,YAAY;UACrB,SAAS,EAAE,IAAI;UACf,UAAU,EAAE,KAAK;MAGnB,iCAAE;QACD,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,IAAI;MAElB,yCAAU;QACT,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,2CAAC;UACA,MAAM,EAAE,cAAc;UACtB,SAAS,EAAE,IAAI;UACf,WAAW,EAAE,GAAG;UAChB,WAAW,EAAE,IAAI;UACjB,aAAa,EAAE,GAAG;QAEnB,4CAAE;UACD,SAAS,EAAE,IAAI;UACf,cAAc,EAAE,SAAS;UACzB,MAAM,EAAE,QAAQ;MAGlB,yCAAU;QACT,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,2DAAiB;UAChB,MAAM,EAAE,cAAc;UACtB,aAAa,EAAE,GAAG;UAClB,UAAU,EAAE,wBAAqB;UACjC,MAAM,EAAE,IAAI;UACZ,OAAO,EAAE,KAAK;UACd,KAAK,EAAE,IAAI;UACX,OAAO,EAAE,KAAK;UACd,KAAK,EAAE,IAAI;UACX,sFAA6B;YAC1B,KAAK,EAAE,IAAI;UAGd,4EAAmB;YAChB,KAAK,EAAE,IAAI;UAGd,6EAAoB;YACjB,KAAK,EAAE,IAAI;UAGd,iFAAwB;YACrB,KAAK,EAAE,IAAI;QAGf,4DAAkB;UACjB,KAAK,EAAE,IAAI;UACX,aAAa,EAAE,GAAG;UAClB,SAAS,EAAE,IAAI;UACf,WAAW,EAAE,IAAI;UACjB,UAAU,EA7NL,OAAO;UA8NZ,MAAM,EAAE,IAAI;UACZ,OAAO,EAAE,KAAK;UACd,KAAK,EAAE,IAAI;UACX,MAAM,EAAE,IAAI;IAId,2CAAyB;MACxB,KAAK,EAAE,IAAI;MACX,SAAS,EAAE,IAAI;MACf,eAAe,EAAE,SAAS;MAE1B,OAAO,EAAE,KAAK;MAEd,KAAK,EAAE,IAAI;EAGb,oBAAe;IACf,MAAM,EAAC,WAAW;IAClB,KAAK,EAAC,IAAI;IACV,OAAO,EAAC,KAAK;IACb,UAAU,EAAC,MAAM;EAMjB,wBAAmB;IAClB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,MAAM;IAClB,KAAK,EAAC,IAAI;IACV,MAAM,EAAC,IAAI;IACX,aAAa,EAAE,GAAG;IAClB,qBAAqB,EAAE,GAAG;IAC1B,kBAAkB,EAAE,GAAG;IACvB,MAAM,EAAC,cAAc;IACrB,UAAU,EAAC,MAAM;IACjB,MAAM,EAAC,SAAS;EAIjB,uBAAkB;IAKjB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,GAAG;EAEnB,uBAAkB;IACd,OAAO,EAAE,KAAK;IACjB,SAAS,EAAE,IAAI;IACZ,cAAc,EAAE,SAAS;IACzB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,MAAM;EAEtB,oBAAgB;IACf,UAAU,EAAE,oDAAoD;IAChE,eAAe,EAAE,KAAK;;AAGxB,eAAe;EACd,OAAO,EAAE,WAAW;EACpB,UAAU,EAjSF,OAAO;EAkSf,UAAU,EAAE,MAAM;EAClB,kBAAE;IACD,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;EAEjB,iBAAC;IACA,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,KAAK;IACb,qBAAG;MACF,KAAK,EAAE,IAAI;;AAId,YAAY;EACX,OAAO,EAAE,YAAY;EACrB,UAAU,EAAE,MAAM;EAClB,eAAE;IACD,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;EAEjB,cAAC;IACA,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,MAAM;IACd,kBAAG;MACF,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,MAAM;;AAIjB,UAAU;EACT,UAAU,EAAE,OAAO;EACnB,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,SAAS;EAClB,aAAE;IACD,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,aAAE;IACD,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,YAAC;IACA,aAAa,EAAE,GAAG;IAClB,UAAU,EArVH,OAAO;IAsVd,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,SAAS;IAClB,2DAAwB;MACvB,eAAe,EAAE,IAAI;;AAIxB,cAAc;EACb,UAAU,EAAE,uDAAuD;EACnE,eAAe,EAAE,SAAS;EAC1B,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,WAAW;EACpB,UAAU,EAAE,MAAM;EAClB,kBAAG;IACF,KAAK,EAAE,GAAG;EAEX,2DAA4C;IAC3C,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;EAElB,4EAA8C;IAC7C,UAAU,EAAE,GAAG;EAEhB,sHAAwF;IACvF,OAAO,EAAE,KAAK;EAEf,wFAA0D;IACzD,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;EAEX,wFAA0D;IACzD,MAAM,EAAE,iBAAiB;IACzB,aAAa,EAAE,GAAG;IAClB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;EAEb,oHAAsF;IACrF,OAAO,EAAE,IAAI;EAEd,wHAA0F;IACzF,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,IAAI;;AAGnB,WAAW;EACV,UAAU,EAAE,2CAA2C;EACvD,eAAe,EAAE,KAAK;EACtB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,WAAW;EACpB,cAAE;IACD,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,IAAI;EAElB,aAAC;IACA,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;;AAIrB,aAAc;EACd,QAAQ,EAAE,QAAQ;EAClB,cAAc,EAAE,MAAM;;EACtB,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,CAAC;EACR,oBAAO;IACN,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;;AAKd,cAAc;EACb,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,IAAI;EACpB,iBAAE;IACD,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,iBAAE;IACD,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,WAAW;EAEpB,gBAAC;IACA,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,CAAC;EAEV,kBAAG;IACF,MAAM,EAAE,KAAK;;AAGf,WAAW;EACV,UAAU,EAAE,MAAM;EAClB,gBAAgB,EAAE,OAAO;EACzB,OAAO,EAAE,WAAW;EACpB,cAAE;IACD,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,iBAAiB;EAE9B,aAAC;IACA,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,GAAG;EAEX,eAAG;IACF,MAAM,EAAE,KAAK;;AAGf,aAAa;EACZ,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,IAAI;EAEjB,iBAAG;IACF,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,KAAK;EAEd,gBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,IAAI;EAEjB,gBAAE;IACD,KAAK,EApfE,OAAO;IAqfd,YAAY,EAAE,IAAI;EAEnB,eAAC;IACA,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;;AAIlB,mBAAmB;EAClB,OAAO,EAAE,WAAW;EACpB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;EACX,sBAAE;IACD,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,sBAAE;IACD,UAAU,EAAE,IAAI;IAChB,yBAAE;MACD,UAAU,EAAE,8CAA8C;MAC1D,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,GAAG;MAChB,MAAM,EAAE,QAAQ;MAChB,YAAY,EAAE,IAAI;;AAIrB,qBAAqB;EACpB,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,IAAI;EACpB,KAAK,EAAE,IAAI;EACX,wBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;EAEjB,wBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,wBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,wBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,uBAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM;EAEhB,yBAAG;IACF,KAAK,EAAE,GAAG;EAEX,kCAAY;IACX,aAAa,EAAE,GAAG;IAClB,UAAU,EAxjBH,OAAO;IAyjBd,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,SAAS;IAClB,6HAAwB;MACvB,eAAe,EAAE,IAAI;EAGvB,sCAAgB;IACf,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,8CAA8C;IAC1D,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,KAAK;EAEX,kDAA4B;IAC3B,OAAO,EAAE,IAAI;;AAGf,mBAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,8BAAU;IACT,UAAU,EAAE,6CAA6C;IACzD,eAAe,EAAE,IAAI;IACrB,MAAM,EAAE,IAAI;EAEb,sBAAE;IACD,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,GAAG;EAEjB,qBAAC;IACA,UAAU,EA5lBH,OAAO;IA6lBd,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,GAAG;IAClB,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,YAAY;IACrB,sFAAwB;MACvB,eAAe,EAAE,IAAI;;AAiBxB,kBAAkB;EACjB,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,WAAW;EACpB,qBAAE;IACD,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,qBAAE;IACD,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,MAAM;EAEnB,sBAAG;IACF,KAAK,EAAE,IAAI;EAEZ,oBAAC;IACA,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,MAAM;IAClB,yBAAI;MACH,aAAa,EAAE,iBAAiB;IAEjC,wBAAG;MACF,KAAK,EAAE,IAAI;MACX,WAAW,EAAE,GAAG;IAEjB,0BAAO;MACN,eAAe,EAAE,IAAI;EAGvB,0BAAO;IACN,QAAQ,EAAE,QAAQ;IAClB,gCAAK;MACJ,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,IAAI;MACT,IAAI,EAAE,GAAG;MACT,KAAK,EAAE,KAAK;MACZ,MAAM,EAAE,KAAK;MACb,WAAW,EAAE,MAAM;MACnB,UAAU,EAAE,IAAI;;AAInB,QAAQ;EAKP,UAAU,EAAE,uCAAuC;EACnD,eAAe,EAAE,KAAK;EACtB,OAAO,EAAE,WAAW;EACpB,UAAU,EAAE,MAAM;EAPlB,YAAG;IACF,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,MAAM;EAMlB,WAAE;IACD,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,UAAC;IACA,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,UAAU,EA9rBH,OAAO;IA+rBd,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,KAAK;IACZ,aAAa,EAAE,GAAG;IAClB,gBAAO;MACN,eAAe,EAAE,IAAI;;AAIxB,aAAa;EACZ,UAAU,EAAE,IAAI;EAChB,cAAc,EAAE,IAAI;EACpB,4BAAc;IACb,WAAW,EAAE,IAAI;IAEjB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,iBAAiB;EAE9B,eAAC;IACA,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,GAAG;EAEjB,gBAAE;IACD,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,MAAM;EAEnB;uCACuB;IACtB,UAAU,EAjuBH,OAAO;IAkuBd,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,GAAG;IAClB,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,YAAY;IACrB;;;+CAAwB;MACvB,eAAe,EAAE,IAAI;EAGvB,iBAAG;IACF,MAAM,EAAE,IAAI;EAEb,+BAAiB;IAChB,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,GAAG;IAClB,OAAO,EAAE,KAAK;EAEf,gCAAkB;IACjB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,UAAU,EA7vBH,OAAO;IA8vBd,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,GAAG;IAClB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;;AAOb,wCAAa;EACZ,KAAK,EAAE,KAAK;AAEb,2CAAgB;EACf,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,cAAc;EACtB,aAAa,EAAE,GAAG;EAClB,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,QAAQ;EAChB,OAAO,EAAE,MAAM;AAEhB,mCAAQ;EACP,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,cAAc;EACtB,aAAa,EAAE,GAAG;EAClB,UAAU,EAAE,KAAK;EACjB,MAAM,EAAE,QAAQ;EAChB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,IAAI;AAEb,gCAAK;EACJ,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,IAAI;EACf,sCAAO;IACN,KAAK,EAtyBC,OAAO;IAuyBb,MAAM,EAAE,YAAY;AAGtB,6CAAkB;EACjB,aAAa,EAAE,GAAG;EAClB,UAAU,EA5yBH,OAAO;EA6yBd,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,MAAM;EACf,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;AAEjB,6BAAE;EACD,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,IAAI;AAIV,mEAAW;EACV,cAAc,EAAE,IAAI;;AAKxB,WAAW;EACV,OAAO,EAAE,WAAW;EACpB,UAAU,EAAE,OAAO;EACnB,cAAE;IACD,UAAU,EAAE,MAAM;IAClB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,eAAG;IACF,MAAM,EAAE,KAAK;EAEd,aAAC;IACA,OAAO,EAAE,YAAY;IACrB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,mBAAO;MACN,eAAe,EAAE,IAAI;IAEtB,iBAAG;MACF,WAAW,EAAE,IAAI;;AAIpB,SAAS;EACR,OAAO,EAAE,QAAQ;EACjB,UAAU,EAAE,MAAM;EAClB,YAAE;IACD,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,iBAAiB;IAC7B,WAAW,EAAE,IAAI;EAElB,aAAG;IACF,MAAM,EAAE,KAAK;;AAGf,mBAAmB;EAClB,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,MAAM;EACf,sBAAE;IACD,KAAK,EAAE,OAAO;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEpB,sBAAE;IACD,KAAK,EAAE,OAAO;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,WAAW;EAEvB,qBAAC;IACA,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ;EAEjB,qBAAC;IACA,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,0BAAI;MACH,aAAa,EAAE,iBAAiB;;AAInC,cAAc;EACb,UAAU,EA34BF,OAAO;EA44Bf,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,MAAM;EACf,iBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,gBAAC;IACA,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,cAAc;IACtB,aAAa,EAAE,GAAG;IAClB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,MAAM;IACf,sBAAO;MACN,eAAe,EAAE,IAAI;IAEtB,oBAAG;MACF,YAAY,EAAE,GAAG;;AAIpB,KAAK;EACJ,WAAW,EAAE,IAAI;EAEjB,QAAE;IACD,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,MAAM;EAGlB,mBAAC;IACA,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,OAAO;IACd,kBAAkB,EAAE,aAAa;IAChC,eAAe,EAAE,aAAa;IAC9B,UAAU,EAAE,aAAa;IAC1B,uBAAG;MACC,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,MAAM;MACd,OAAO,EAAE,KAAK;IAElB,4BAAQ;MACP,KAAK,EAAE,IAAI;MACX,UAAU,EAAE,IAAI;IAEjB,gFAAwB;MACvB,OAAO,EAAE,IAAI;IAEd,yBAAO;MACN,MAAM,EAAC,eACR;EAED,oBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;EAEjB,oBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAj9BC,OAAO;EAm9Bd,oBAAE;IACD,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,GAAG;IAEhB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,IAAI;IACjB,0BAAO;MACN,MAAM,EAAE,KAAK;EAGf,+BAAa;IACZ,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,IAAI;IAEhB,oCAAI;MACH,WAAW,EAAE,IAAI;MACjB,YAAY,EAAE,IAAI;MAClB,wCAAG;QACF,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;IAGnB,mCAAG;MACH,KAAK,EAAE,IAAI;EAIZ,6BAAC;IACA,QAAQ,EAAE,QAAQ;EAEnB,yCAAa;IACZ,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;EAKZ,oBAAC;IACA,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,KAAK;IAEZ,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,OAAO;IACd,kBAAkB,EAAE,aAAa;IAChC,eAAe,EAAE,aAAa;IAC9B,UAAU,EAAE,aAAa;IAC1B,wBAAG;MACF,KAAK,EAAE,GAAG;MACP,MAAM,EAAE,MAAM;MACd,OAAO,EAAE,KAAK;IAElB,6BAAQ;MACP,KAAK,EAAE,IAAI;MACX,UAAU,EAAE,IAAI;IAEjB,0BAAO;MACN,MAAM,EAAC,eACR;IACA,mFAAwB;MACvB,OAAO,EAAE,IAAI;EAGf,qBAAE;IACD,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,UAAU;EAEnB,oBAAC;IACA,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,KAAK,EA/hCC,OAAO;EAmiCd,mBAAC;IACA,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,OAAO;IACd,kBAAkB,EAAE,aAAa;IAChC,eAAe,EAAE,aAAa;IAC9B,UAAU,EAAE,aAAa;IAC1B,uBAAG;MACC,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,MAAM;MACd,OAAO,EAAE,KAAK;IAElB,wBAAI;MACH,MAAM,EAAE,GAAG;MACX,8BAAO;QACN,OAAO,EAAE,GAAG;MAEb,4BAAG;QACH,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,IAAI;IAGjB,yBAAO;MACN,MAAM,EAAC,eACR;IACA,gFAAwB;MACvB,OAAO,EAAE,IAAI;EAGf,oBAAE;IACD,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,UAAU;EAEnB,mBAAC;IACA,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,KAAK,EAzkCC,OAAO;;AA8kCf,gBAAE;EACD,OAAO,EAAE,GAAG;EACZ,eAAe,EAAE,IAAI;EACrB,mBAAE;IACD,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,YAAY;IACrB,uBAAG;MACF,KAAK,EAAE,IAAI;MACX,cAAc,EAAE,eAAe;MAC5B,MAAM,EAAE,eAAe;MACvB,kBAAkB,EAAE,aAAa;MAChC,eAAe,EAAE,aAAa;MAC9B,UAAU,EAAE,aAAa;IAE9B,qBAAC;MACA,OAAO,EAAE,KAAK;MACd,QAAQ,EAAE,QAAQ;MAClB,kBAAkB,EAAE,aAAa;MAChC,eAAe,EAAE,aAAa;MAC9B,UAAU,EAAE,aAAa;MAC1B,yDAAgB;QACf,OAAO,EAAE,IAAI;MAEd,2BAAO;QACN,OAAO,EAAE,IAAI;QACb,+BAAG;UACF,MAAM,EAAE,+BAA+B;UACzC,cAAc,EAAE,+BAA+B;QAE9C,iCAAO;UACN,OAAO,EAAE,EAAE;UACX,UAAU,EAAE,2DAA2D;UACvE,QAAQ,EAAE,QAAQ;UAClB,OAAO,EAAE,KAAK;UACd,KAAK,EAAE,IAAI;UACX,MAAM,EAAE,IAAI;UACZ,GAAG,EAAE,GAAG;UACR,IAAI,EAAE,GAAG;UACT,UAAU,EAAE,KAAK;UACjB,WAAW,EAAE,IAAI;UACjB,OAAO,EAAE,GAAG;;AAOlB,kBAAmB;EACf,MAAM,EAAE,iBAAiB;EACzB,OAAO,EAAE,EAAE;;AAGd,yBAAa;EAEZ,KAAK,EAAE,KAAK;EACZ,sCAAY;IACX,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,2FAAgB;MACf,OAAO,EAAE,IAAI;EAGf,kCAAQ;IACJ,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,KAAK;IACd,cAAc,EAAE,eAAe;IAC9B,MAAM,EAAE,eAAe;EAE5B,4BAAE;IACD,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,IAAI;EAEZ,4BAAE;IACD,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,IAAI;EAEZ,2BAAC;IACA,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,IAAI;IACX,gCAAI;MACH,WAAW,EAAE,GAAG;EAGlB,2BAAC;IACA,OAAO,EAAE,YAAY;IACrB,YAAY,EAAE,IAAI;IAClB,wCAAc;MACb,eAAe,EAAE,SAAS;MAC1B,YAAY,EAAE,GAAG;MACjB,WAAW,EAAE,GAAG;MAChB,KAAK,EAAE,IAAI;EAGb,wCAAc;IACb,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,GAAG;IAClB,oDAAW;MACV,cAAc,EAAE,IAAI;EAGtB,uCAAa;IACZ,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,GAAG;IAChB,8CAAM;MACL,OAAO,EAAE,GAAG;;AAKhB,SAAS;EACR,MAAM,EAAE,uDAAuD;EAC5D,cAAc,EAAE,iBAAiB;EACjC,MAAM,EAAE,iBAAiB;EACzB,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,SAAS;EACjB,eAAO;IACN,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,mBAAgB;IAC5B,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;;AAGb,kBAAkB;EAEjB,QAAQ,EAAE,QAAQ;EAClB,4BAAU;IACH,OAAO,EAAE,IAAI;EAEpB,qBAAE;IACD,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,MAAM;IAEf,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,IAAI;EAErB,qBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,WAAW;EAEpB,sBAAG;IACF,MAAM,EAAE,KAAK;EAEd,8BAAW;IACV,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,mCAAI;MACH,WAAW,EAAE,IAAI;MACjB,YAAY,EAAE,IAAI;MAClB,uCAAG;QACF,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;EAIrB,oBAAC;IACA,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,MAAM;EAEnB,8BAAW;IACV,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;EAErB,+BAAY;IACX,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,MAAM;IACnB,GAAG,EAAE,KAAK;IACV,iCAAC;MACA,UAAU,EAAE,IAAI;MAChB,SAAS,EAAE,IAAI;MACf,KAAK,EAAE,IAAI;MACX,WAAW,EAAE,GAAG;MAChB,MAAM,EAAE,QAAQ;MAChB,WAAW,EAAE,MAAM;IAEpB,iCAAC;MACA,aAAa,EAAE,GAAG;MAClB,UAAU,EA3xCJ,OAAO;MA4xCb,KAAK,EAAE,IAAI;MACX,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,GAAG;MAChB,OAAO,EAAE,YAAY;MACrB,OAAO,EAAE,SAAS;MAClB,0HAAwB;QACvB,eAAe,EAAE,IAAI;EAIxB,+BAAY;IACX,aAAa,EAAE,GAAG;IAClB,UAAU,EAxyCH,OAAO;IAyyCd,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,SAAS;IAClB,oHAAwB;MACvB,eAAe,EAAE,IAAI;EAItB,qCAAS;IACR,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;EAEb,2CAAe;IACd,GAAG,EAAE,KAAK;;AAIb,UAAU;EACT,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,WAAW;EACpB,aAAE;IACD,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,MAAM;EAEnB,YAAC;IACA,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,wBAAa;MACZ,UAAU,EAAE,IAAI;EAGlB,cAAG;IACF,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;EAEZ,YAAC;IACA,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,iBAAI;MACH,aAAa,EAAE,iBAAiB;IAEjC,gBAAG;MACF,KAAK,EAAE,IAAI;MACX,MAAM,EAAE,SAAS;IAElB,2DAAwB;MACvB,eAAe,EAAE,IAAI;;AAIxB,WAAW;EACV,UAAU,EAr2CF,OAAO;EAs2Cf,OAAO,EAAE,WAAW;EACpB,UAAU,EAAE,MAAM;EAClB,cAAE;IACD,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,4BAAgB;IACf,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,8CAAiB;MAChB,MAAM,EAAE,cAAc;MACtB,aAAa,EAAE,GAAG;MAClB,UAAU,EAAE,wBAAqB;MACjC,UAAU,EAAE,WAAW;MACvB,MAAM,EAAE,IAAI;MACZ,OAAO,EAAE,KAAK;MACd,KAAK,EAAE,IAAI;MACX,OAAO,EAAE,MAAM;MACf,WAAW,EAAE,GAAG;MAChB,KAAK,EAAE,IAAI;MACX,SAAS,EAAE,IAAI;MACf,yEAA6B;QAC1B,KAAK,EAAE,IAAI;MAGd,+DAAmB;QAChB,KAAK,EAAE,IAAI;MAGd,gEAAoB;QACjB,KAAK,EAAE,IAAI;MAGd,oEAAwB;QACrB,KAAK,EAAE,IAAI;IAGf,+CAAkB;MACjB,aAAa,EAAE,GAAG;MAClB,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,IAAI;MACjB,KAAK,EAj5CC,OAAO;MAk5Cb,UAAU,EAAE,IAAI;MAChB,MAAM,EAAE,cAAc;MACtB,OAAO,EAAE,KAAK;MACd,KAAK,EAAE,IAAI;MACX,MAAM,EAAE,IAAI;;AAKf,cAAc;EACb,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,IAAI;EACpB,iBAAE;IACD,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,MAAM;EAEnB,gBAAC;IACA,MAAM,EAAE,GAAG;EAEZ,iBAAG;IACF,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,QAAQ;IAChB,mBAAC;MACA,KAAK,EAAE,IAAI;MACX,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,GAAG;MAChB,gFAAwB;QACvB,eAAe,EAAE,IAAI;MAEtB,uBAAG;QACF,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,IAAI;EAIf,qBAAM;IACL,aAAa,EAAE,4BAA4B;IAC3C,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,IAAI;IAChB,oCAAc;MACb,OAAO,EAAE,QAAQ;MAEf,mDAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,GAAG;QAChB,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,kDAAkD;QAC9D,uEAAqB;UACpB,UAAU,EAAE,gDAAgD;QAE7D,gLAAwB;UACvB,eAAe,EAAE,IAAI;IAKzB,iCAAW;MACV,OAAO,EAAE,MAAM;MACf,MAAM,EAAE,eAAe;;AAK1B,MAAM;EACL,OAAO,EAAE,CAAC;EACV,mBAAY;IACX,UAAU,EAAE,OAAO;IACnB,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,IAAI;EAIX,gBAAC;IACA,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,SAAS;IACjB,oBAAG;MACF,MAAM,EAAE,IAAI;EAIf,SAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,MAAM;EAGlB,gCAAG;IACF,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,IAAI;EAElB,eAAC;IACA,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,IAAI;EAGrB,YAAK;IACJ,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,IAAI;EAGnB,sBAAE;IACD,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,GAAG;EAEZ,qBAAC;IACA,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,IAAI;EAGhB,6BAAC;IACA,OAAO,EAAE,YAAY;IACrB,SAAS,EAAE,GAAG;IACX,MAAM,EAAE,KAAK;IACb,iCAAG;MACF,YAAY,EAAE,GAAG;MACjB,OAAO,EAAE,YAAY;MACrB,MAAM,EAAE,IAAI;EAKnB,iBAAU;IACT,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,IAAI;;AAKlB,gBAAgB;EACZ,UAAU,EAAE,4CAA4C;EACxD,eAAe,EAAE,KAAK;EACtB,4BAAW;IACV,MAAM,EAAE,8BAA8B;;AAI1C,kBAAE;EACD,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,WACT;AAEC,0EAEO;EACN,eAAe,EAAE,IAAI;AAEtB,2BAAW;EACV,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,SAAS;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAhkDC,OAAO;EAikDb,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,aAAa,EAAE,GAAG;AAIpB,uBAAO;EACN,UAAU,EAAE,KAAK;EACjB,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,WAAW;EACnB,kBAAkB,EAAE,0CAAuC;EAC7D,eAAe,EAAE,0CAAuC;EACxD,UAAU,EAAE,0CAAuC;EACjD,0BAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAnlDC,OAAO;EAqlDd,yBAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,GAAG;EAEZ,0BAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,KAAK;;AAMpB,kBAAE;EACD,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,WACT;AAEC,0EAEO;EACN,eAAe,EAAE,IAAI;AAEtB,+BAAe;EACd,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,SAAS;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EA3nDC,OAAO;EA4nDb,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,aAAa,EAAE,GAAG;AAEnB,yBAAO;EACN,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,KAAK;EACjB,MAAM,EAAE,WAAW;EACpB,kBAAkB,EAAE,0CAAuC;EAC7D,eAAe,EAAE,0CAAuC;EACxD,UAAU,EAAE,0CAAuC;EAChD,+BAAO;IACN,KAAK,EAAE,IAAI;EAEZ,4BAAE;IACD,KAAK,EA3oDA,OAAO;IA4oDZ,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,SAAS;EAE1B,8BAAI;IACH,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,iCAAE;MACD,KAAK,EAAE,OAAO;MACd,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,GAAG;MAChB,MAAM,EAAE,WAAW;MACnB,WAAW,EAAE,IAAI;IAElB,iCAAE;MACD,KAAK,EAAE,OAAO;MACd,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,GAAG;MAChB,WAAW,EAAE,IAAI;MACjB,MAAM,EAAE,cAAc;;AAQ1B,iBAAE;EACD,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,WACT;AACA,kBAAG;EACF,MAAM,EAAE,MAAM;AAEf,sCAAuB;EACtB,MAAM,EAAE,GAAG;EACX,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,KAAK;EACX,GAAG,EAAE,GAAG;EACR,MAAM,EAAE,OAAO;AAEhB,uCAAwB;EACvB,MAAM,EAAE,GAAG;EACX,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,KAAK;EACZ,GAAG,EAAE,GAAG;EACR,MAAM,EAAE,OAAO;AAGf,uEAEO;EACN,OAAO,EAAE,IAAI;;AAIhB,+BAA8B;EAC7B,OAAO,EAAE,IAAI;;AAEd,aAAa;EACT,QAAQ,EAAE,KAAK;EACf,MAAM,EAAE,GAAG;EACX,IAAI,EAAE,GAAG;EACT,KAAK,EAAE,IAAI;;AAEf,mBAAmB;EAClB,UAAU,EAAE,wBAAqB;EACjC,UAAU,EAAE,uBAAoB;EAChC,UAAU,EAAE,qBAAkB;EAC9B,KAAK,EAAE,IAAI;EACX,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,QAAQ;EACjB,MAAM,EAAE,GAAG;EACX,0BAAM;IACL,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,QAAQ;EAEnB,qBAAC;IACA,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,IAAI;IACjB,uBAAC;MACA,KAAK,EAAE,IAAI;MACX,eAAe,EAAE,oBAAoB;MACrC,WAAW,EAAE,GAAG;;AAKnB,qBAAqB;EACjB,UAAU,EAAE,qDAAqD;EACjE,eAAe,EAAE,KAAK;EAGrB,8CAAY;IACX,cAAc,EAAE,GAAG;EAGrB,wBAAE;IACD,MAAM,EAAE,gBAAgB;EAGzB,wBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;EAEjB,uBAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,QAAQ;IAChB,4BAAI;MACH,WAAW,EAAE,GAAG;EAGlB,8BAAQ;IACP,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,QAAQ;EAEnB,4BAAM;IACL,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,GAAG;IACP,iBAAiB,EAAE,iBAAiB;IACzC,SAAS,EAAE,iBAAiB;IAC5B,iCAAiC,EAAE,YAAY;IAC/C,yBAAyB,EAAE,YAAY;EAErC,uBAAC;IACA,OAAO,EAAE,KAAK;IACd,KAAK,EA7xDD,OAAO;IA8xDX,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;;AAGpB,wBAIC;EAHC,IAAI;IAAC,iBAAiB,EAAE,aAAa;EACrC,GAAG;IAAC,iBAAiB,EAAE,gBAAgB;EACvC,EAAE;IAAC,iBAAiB,EAAE,aAAa;AAGrC,gBAIC;EAHC,IAAI;IAAC,SAAS,EAAE,aAAa;EAC7B,GAAG;IAAC,SAAS,EAAE,gBAAgB;EAC/B,EAAE;IAAC,SAAS,EAAE,aAAa;AAE7B,aAAa;EACZ,UAAU,EAAE,+DAA+D;EAC3E,eAAe,EAAE,QAAQ;EACzB,MAAM,EAAE,IAAI;EACZ,gBAAE;IACE,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,UAAU;EAEnB,eAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,QAAQ;IAChB,oBAAI;MACH,WAAW,EAAE,GAAG;EAGlB,eAAC;IACA,OAAO,EAAE,KAAK;IACjB,KAAK,EAAE,OAAO;IACd,KAAK,EAn0DE,OAAO;IAo0DX,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;;AAGpB,sBAAsB;EACrB,UAAU,EAAE,oEAAoE;EAEhF,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,QAAQ;EAClB,QAAQ,EAAE,MAAM;EAChB,yBAAE;IACE,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,IAAI;EAEZ,wBAAC;IACA,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,QAAQ;IAChB,6BAAI;MACH,WAAW,EAAE,GAAG;EAGlB,wBAAC;IACA,OAAO,EAAE,KAAK;IACjB,KAAK,EAAE,OAAO;IACd,KAAK,EAl2DE,OAAO;IAm2DX,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;EAEhB,0BAAG;IACF,KAAK,EAAE,GAAG;IACV,UAAU,EAAE,GAAG;EAEhB,4BAAM;IACL,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,IAAI;EAEf,iCAAU;IACT,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;;AAGpB,QAAQ;EACP,UAAU,EAAE,qDAAqD;EAC9D,eAAe,EAAE,KAAK;EACtB,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,KAAK;EAClB,WAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,wBAAc;MACb,UAAU,EAAE,IAAI;EAGlB,UAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,QAAQ;IAChB,eAAI;MACH,WAAW,EAAE,GAAG;EAGpB,gBAAO;IACJ,UAAU,EAAE,KAAK;EAElB,UAAC;IACA,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,gCAAuB;MACtB,aAAa,EAAE,IAAI;EAGrB,aAAI;IACH,UAAU,EAAE,IAAI;;AAGrB,WAAW;EACV,UAAU,EAAE,uEAAuE;EACnF,eAAe,EAAE,IAAI;EACrB,MAAM,EAAE,mBAAmB;EAC3B,UAAU,EAAE,MAAM;EAClB,eAAG;IACF,UAAU,EAAE,MAAM;IAElB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC;;AAGZ,eAAe;EACd,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,OAAO;EACd,mBAAG;IACF,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,GAAG;EAEnB,kBAAE;IACE,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,UAAU;EAEnB,iBAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,QAAQ;IAChB,sBAAI;MACH,WAAW,EAAE,GAAG;EAGlB,iBAAC;IACA,OAAO,EAAE,KAAK;IACjB,KAAK,EAAE,OAAO;IACd,KAAK,EAp8DE,OAAO;IAq8DX,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;;AAGpB,gCAA+B;EAC9B,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,KAAK;EAClB,cAAc,EAAE,KAAK;EACrB,wCAAG;IACF,KAAK,EAAE,IAAI;EAEZ,sCAAE;IACE,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,WAAW;IACnB,gEAAc;MACb,UAAU,EAAE,KAAK;EAGnB,oCAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,QAAQ;IAChB,8CAAI;MACH,WAAW,EAAE,GAAG;EAGlB,oCAAC;IACA,OAAO,EAAE,KAAK;IACjB,KAAK,EAp+DE,OAAO;IAq+DX,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;EAEhB,0DAAY;IACX,QAAQ,EAAE,QAAQ;IAClB,sEAAM;MACL,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,IAAI;MACT,IAAI,EAAE,GAAG;MACT,KAAK,EAAE,KAAK;MACZ,MAAM,EAAE,KAAK;MACb,WAAW,EAAE,MAAM;MACnB,UAAU,EAAE,IAAI;;AAItB,cAAc;EACb,UAAU,EAAE,qEAAqE;EACjF,eAAe,EAAE,IAAI;EACrB,MAAM,EAAE,mBAAmB;EAC3B,OAAO,EAAE,QAAQ;EACjB,kBAAG;IACF,KAAK,EAAE,IAAI;IACX,wBAAO;MACN,YAAY,EAAE,IAAI;;AAKrB,kBAAkB;EACd,UAAU,EAAE,6CAA6C;EACzD,eAAe,EAAE,KAAK;EACtB,8BAAW;IACV,MAAM,EAAE,8BAA8B;;AAG3C,cAAc;EACb,UAAU,EAAE,MAAM;EAElB,gBAAC;IACA,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,kBAAC;MACA,WAAW,EAAE,GAAG;MAChB,KAAK,EAAE,OAAO;MACd,eAAe,EAAE,SAAS;;AAK5B,YAAE;EACD,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,WACT;AAEC,wDAEO;EACN,eAAe,EAAE,IAAI;AAEtB,qBAAW;EACV,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,SAAS;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EA3iEC,OAAO;EA4iEb,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,aAAa,EAAE,GAAG;AAIpB,iBAAO;EACN,UAAU,EAAE,KAAK;EACjB,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,WAAW;EACnB,kBAAkB,EAAE,0CAAuC;EAC7D,eAAe,EAAE,0CAAuC;EACxD,UAAU,EAAE,0CAAuC;EACjD,oBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EA9jEC,OAAO;IA+jEb,MAAM,EAAE,QAAQ;EAEjB,mBAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,QAAQ;EAEjB,oBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,GAAG;IACX,0BAAO;MACN,OAAO,EAAE,EAAE;MACX,OAAO,EAAE,KAAK;MACd,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,UAAU,EAjlEL,OAAO;MAklEZ,MAAM,EAAE,cAAc;;AAMzB,mCAAa;EACZ,KAAK,EAAE,KAAK;AAEb,iCAAW;EACV,YAAY,EAAE,IAAI;EAClB,aAAa,EAAE,IAAI;EACnB,wCAAM;IACL,QAAQ,EAAE,QAAQ;IACf,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;AAGb,wBAAE;EACD,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,KAAK,EAvmEE,OAAO;EAwmEd,MAAM,EAAE,QAAQ;EAChB,UAAU,EAAE,MAAM;AAEnB,wBAAE;EACD,UAAU,EAAE,MAAM;EAClB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,GAAG;EACX,8BAAO;IACN,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,GAAG;IACX,UAAU,EAtnEJ,OAAO;IAunEb,MAAM,EAAE,cAAc;EAEvB,6BAAI;IACH,WAAW,EAAE,GAAG;AAGlB,uBAAC;EACA,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,QAAQ;EAChB,yBAAC;IACA,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,IAAI;IACX,eAAe,EAAE,SAAS;AAG5B,wBAAG;EACD,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;AAGX,wBAAG;EACF,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,OAAO;AAGhB,gCAAW;EACT,OAAO,EAAE,OAAO;EAChB,KAAK,EAAE,GAAG;EACR,aAAa,EAAE,GAAG;EACpB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,YAAY;;AAIvB,iCAAW;EACV,OAAO,EAAE,mBAAmB;EAC5B,oCAAE;IACD,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,gDAAgD;IAC5D,eAAe,EAAE,KAAK;IACtB,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,cAAc;EAEvB,oCAAE;IACD,WAAW,EAAE,GAAG;IAChB,KAAK,EA3qEC,OAAO;EA6qEd,mCAAC;IACA,OAAO,EAAE,MAAM;IACf,qCAAC;MACA,MAAM,EAAE,CAAC;MACT,KAAK,EAjrEA,OAAO;IAsrEZ,yJAAC;MACA,KAAK,EAvrED,OAAO;EA2rEd,uFAAkB;IACjB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,UAAU,EA/rEJ,OAAO;IAgsEb,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,GAAG;IAClB,OAAO,EAAE,SAAS;IAClB,+SAEO;MACN,eAAe,EAAE,IAAI;IAEtB,mGAAO;MACN,UAAU,EAAE,IAAI;MAChB,SAAS,EAAE,IAAI;MACZ,QAAQ,EAAE,QAAQ;MACrB,GAAG,EAAE,GAAG;MACL,KAAK,EAAE,GAAG;MACV,OAAO,EAAE,IAAI;MACb,WAAW,EAAE,IAAI;EAGtB,mDAAiB;IAChB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,cAAc;IACtB,aAAa,EAAE,GAAG;EAEnB,oCAAE;IACD,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,YAAY;;AAMtB,qBAAkB;EACd,UAAU,EAAE,2DAA2D;EACvE,eAAe,EAAE,KAAK;EACtB,iCAAW;IACV,MAAM,EAAE,8BAA8B;EAEvC,wBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;;AAKtB,aAAa;EACZ,UAAU,EAAE,8EAA8E;EAC1F,eAAe,EAAE,SAAS;EAC1B,OAAO,EAAE,YAAY;EACrB,gBAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,GAAG;EAEhB,eAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,OAAO;;AAGhB,YAAY;EACX,UAAU,EAAE,gEAAgE;EAC5E,eAAe,EAAE,KAAK;EAEtB,OAAO,EAAE,MAAM;EACf,KAAK,EAAE,IAAI;EACX,eAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;EAGjB,cAAC;IACA,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;EAElB,yBAAY;IACX,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,MAAM;;AAOf,iBAAE;EACD,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,KAAK,EAAE,OAAO;AAGf,gBAAC;EACA,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,KAAK,EAAE,OAAO;AAEf,gCAAiB;EAChB,UAAU,EAAE,MAAM;AAEnB,4BAAa;EACZ,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EAzyET,kBAAkB,EAAE,iBAAiB;EAClC,eAAe,EAAE,iBAAiB;EAClC,UAAU,EAAE,iBAAiB;EAyyE/B,qCAAQ;IACP,UAAU,EAAE,2DAA2D;IACvE,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;IAElB,2CAAK;MACJ,UAAU,EAAE,wDAAwD;MACpE,KAAK,EAAE,KAAK;MACZ,MAAM,EAAE,KAAK;MACb,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,GAAG;MACR,IAAI,EAAE,CAAC;MAEP,OAAO,EAAE,CAAC;EAGZ,oCAAO;IACN,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,MAAM;IACnB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,IAAI;IACb,uCAAI;MACH,WAAW,EAAE,OAAO;MAt0EvB,kBAAkB,EAAE,eAAiB;MAClC,eAAe,EAAE,eAAiB;MAClC,UAAU,EAAE,eAAiB;IAu0E9B,uCAAI;MACH,WAAW,EAAE,MAAM;MA10EtB,kBAAkB,EAAE,aAAiB;MAClC,eAAe,EAAE,aAAiB;MAClC,UAAU,EAAE,aAAiB;IA20E9B,uCAAI;MACH,WAAW,EAAE,OAAO;MACpB,GAAG,EAAE,KAAK;MA/0Eb,kBAAkB,EAAE,eAAiB;MAClC,eAAe,EAAE,eAAiB;MAClC,UAAU,EAAE,eAAiB;IAg1E9B,uCAAI;MACH,WAAW,EAAE,MAAM;MACnB,GAAG,EAAE,KAAK;MAp1Eb,kBAAkB,EAAE,eAAiB;MAClC,eAAe,EAAE,eAAiB;MAClC,UAAU,EAAE,eAAiB;IAq1E9B,uCAAI;MACH,WAAW,EAAE,OAAO;MACpB,GAAG,EAAE,KAAK;MAz1Eb,kBAAkB,EAAE,eAAiB;MAClC,eAAe,EAAE,eAAiB;MAClC,UAAU,EAAE,eAAiB;IA01E9B,uCAAI;MACH,WAAW,EAAE,MAAM;MACnB,GAAG,EAAE,KAAK;MA91Eb,kBAAkB,EAAE,eAAiB;MAClC,eAAe,EAAE,eAAiB;MAClC,UAAU,EAAE,eAAiB;EAg2E/B,gCAAK;IACJ,GAAG,EAAE,KAAK;IACV,wCAAO;MAEP,QAAQ,EAAE,QAAQ;MAClB,IAAI,EAAE,GAAG;MACT,WAAW,EAAE,MAAM;MACnB,GAAG,EAAE,IAAI;MACT,2CAAI;QACH,WAAW,EAAE,MAAM;MAEpB,2CAAI;QACH,WAAW,EAAE,KAAK;MAEnB,2CAAI;QACH,WAAW,EAAE,MAAM;QACnB,GAAG,EAAE,KAAK;MAEX,2CAAI;QACH,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,KAAK;MAEX,2CAAI;QACH,WAAW,EAAE,MAAM;QACnB,GAAG,EAAE,KAAK;MAEX,2CAAI;QACH,WAAW,EAAE,KAAK;QAClB,GAAG,EAAE,KAAK;;AAOb,oBAAE;EACD,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,KAAK,EAAE,OAAO;;AAKR,oCAAM;EACF,mBAAmB,EAAE,OAAO;AAGhC;;4CAEc;EACV,OAAO,EAAE,CAAC;AAGd;;0CAEY;EACR,OAAO,EAAE,CAAC;AAGd;;;4CAGc;EACV,IAAI,EAAE,CAAC;EACP,SAAS,EAAE,oBAAoB;AAIvC,gCAAkB;EACd,OAAO,EAAE,CAAC;;AAGlB,oBAAoB;EACnB,WAAW,EAAE,KAAK;EAClB,uBAAE;IACD,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,GAAG;IAEhB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM;EAId,wCAAG;IACF,KAAK,EAAE,IAAI;EAEZ,sDAAiB;IAChB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,SAAS;IAClB,yDAAE;MACD,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,GAAG;IAEjB,wDAAC;MACA,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,GAAG;EAInB,gDAAiB;IAEhB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,CAAC;IACV,qDAAI;MACH,GAAG,EAAE,IAAI;MACT,4EAAwB;QACvB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,8DAA8D;QAC1E,mFAAQ;UACP,OAAO,EAAE,EAAE;MAGb,6EAAyB;QACxB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,+DAA+D;QAC3E,oFAAQ;UACP,OAAO,EAAE,EAAE;;AAWjB,QAAQ;EACP,UAAU,EAAE,+DAA+D;EAC3E,eAAe,EAAE,IAAI;EACrB,aAAa,EAAE,IAAI;EACnB,WAAE;IACD,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,MAAM;EAEnB,UAAC;IACA,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAIhB,YAAC;MACA,KAAK,EA9/EC,OAAO;EAigFf,uBAAc;IACb,MAAM,EAAE,iBAAiB;IACzB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,SAAS;IAClB,oCAAY;MACX,aAAa,EAAE,iBAAiB;MAChC,sCAAC;QACA,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,IAAI;QACjB,iDAAY;UACX,WAAW,EAAE,IAAI;MAGnB,+CAAY;QACX,MAAM,EAAE,IAAI;;AAMhB,SAAS;EACR,cAAc,EAAE,KAAK;EACrB,YAAE;IACD,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,IAAI;IAChB,mBAAQ;MACP,OAAO,EAAE,EAAE;MACX,OAAO,EAAE,KAAK;MACd,KAAK,EAAE,KAAK;MACZ,MAAM,EAAE,GAAG;MACX,UAAU,EAjiFJ,OAAO;MAkiFb,UAAU,EAAE,IAAI;MAChB,aAAa,EAAE,IAAI;IAEpB,+BAAoB;MACnB,OAAO,EAAE,IAAI;IAEd,mBAAQ;MACP,KAAK,EAziFC,OAAO;MA0iFb,UAAU,EAAE,MAAM;MAClB,WAAW,EAAE,GAAG;MAChB,0BAAQ;QACP,OAAO,EAAE,IAAI;EAKhB,0BAAK;IACJ,YAAY,EAAE,IAAI;IAClB,8CAAW;MACV,eAAe,EAAE,IAAI;MACrB,OAAO,EAAE,GAAG;MACZ,oEAAU;QACT,OAAO,EAAE,OAAO;QAChB,KAAK,EAzjFA,OAAO;QA0jFZ,YAAY,EAAE,GAAG;IAGnB,8CAAW;MACV,eAAe,EAAE,IAAI;MACrB,OAAO,EAAE,GAAG;MACZ,wEAAc;QACb,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,GAAG;IAIlB,4EAAc;MACb,KAAK,EAxkFA,OAAO;IA2kFd,kDAAa;MACZ,eAAe,EAAE,WAAW;MAC5B,YAAY,EAAE,IAAI;MAClB,4DAAM;QACL,WAAW,EAAE,GAAG;QACf,gEAAC;UACA,WAAW,EAAE,GAAG;UAChB,MAAM,EAAE,GAAG;IAKf,kDAAa;MACZ,eAAe,EAAE,IAAI;MACrB,YAAY,EAAE,GAAG;MACjB,4DAAM;QACL,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,OAAO;QACf,sEAAI;UACH,WAAW,EAAE,GAAG;UAChB,KAAK,EAAE,IAAI;UACX,MAAM,EAAE,IAAI;UACZ,MAAM,EAAE,GAAG;UACX,OAAO,EAAE,YAAY;UACrB,UAAU,EAAE,OAAO;UACnB,KAAK,EAAE,IAAI;UACX,YAAY,EAAE,GAAG;UACjB,UAAU,EAAE,MAAM;UAClB,aAAa,EAAE,GAAG;IAKpB,wDAAM;MACL,WAAW,EAAE,IAAI;EAIpB,yBAAI;IACH,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,GAAG;IACZ,mCAAI;MACH,WAAW,EAAE,GAAG;IAEjB,6BAAC;MACA,KAAK,EA3nFC,OAAO;MA4nFb,eAAe,EAAE,SAAS;EAG5B,YAAE;IACD,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;;AAInB,gBAAgB;EACZ,UAAU,EAAE,2CAA2C;EACvD,eAAe,EAAE,KAAK;EACtB,4BAAW;IACV,MAAM,EAAE,8BAA8B;;AAE1C,kBAAkB;EACf,UAAU,EAAE,6CAA6C;EACzD,eAAe,EAAE,KAAK;EACtB,8BAAW;IACV,MAAM,EAAE,8BAA8B;IACtC,iCAAE;MACD,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,GAAG;MAChB,MAAM,EAAE,QAAQ;;AAKrB,8BAAE;EACD,MAAM,EAAE,WAAW;;AAIpB,cAAE;EACD,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,OAAO;EACd,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,WACT;AACA,cAAE;EACD,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,OAAO;EACd,MAAM,EAAE,QAAQ;AAEjB,6BAAI;EACH,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,OAAO;EACd,MAAM,EAAE,QAAQ;EAChB,WAAW,EAAE,IAAI;EACjB,iCAAC;IACA,KAAK,EAprFC,OAAO;AAurFf,cAAE;EACD,MAAM,EAAE,GAAG;AAEZ,sBAAU;EACT,UAAU,EAAE,KAAK;AAElB,cAAE;EACD,MAAM,EAAE,QAAQ;AAEjB,cAAE;EACD,MAAM,EAAE,QAAQ;EAChB,eAAe,EAAE,IAAI;EACrB,iBAAE;IACD,MAAM,EAAE,MAAM;EAEf,sBAAO;IACN,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;;AAId,mBAAmB;EAClB,UAAU,EAAE,mDAAmD;EAC5D,eAAe,EAAE,KAAK;EAIrB,kCAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,KAAK,EAvtFF,OAAO;IAwtFV,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;EAElB,kCAAE;IACD,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,QAAQ;IAChB,uCAAI;MACH,WAAW,EAAE,GAAG;EAGlB,iCAAC;IACA,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,GAAG;IACX,mCAAC;MACA,KAAK,EA1uFH,OAAO;MA2uFT,SAAS,EAAE,IAAI;IAEhB,qCAAG;MACF,MAAM,EAAE,IAAI;MACZ,YAAY,EAAE,GAAG;EAGnB,gDAAgB;IACf,YAAY,EAAE,CAAC;IACf;6DACQ;MACP,eAAe,EAAE,IAAI;EAGvB,oCAAI;IACH,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;EAEpB,gDAAgB;IACf,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,aAAa,EAAE,cAAc;IAC7B,SAAS,EAAE,IAAI;IACf,2EAA6B;MAC1B,KAAK,EAAE,IAAI;IAGd,iEAAmB;MAChB,KAAK,EAAE,IAAI;IAGd,kEAAoB;MACjB,KAAK,EAAE,IAAI;IAGd,sEAAwB;MACrB,KAAK,EAAE,IAAI;EAId,kDAAQ;IACP,OAAO,EAAE,OAAO;IAChB,KAAK,EA1xFH,OAAO;IA2xFT,YAAY,EAAE,GAAG;EAElB,0DAAgB;IACf,KAAK,EA9xFH,OAAO;EAiyFX,kDAAkB;IACjB,OAAO,EAAE,KAAK;IACd,gBAAgB,EAnyFb,OAAO;IAoyFV,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,GAAG;IAClB,cAAc,EAAE,GAAG;IACnB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,GAAG;;AAKtB,0BAA2B;EAC1B,aAAS;IACR,OAAO,EAAE,QAAQ;;EAElB,aAAa;IACZ,OAAO,EAAE,IAAI;;EAEd,sCAAsC;IACrC,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,KAAK;;EAEZ,uCAAuC;IACtC,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,KAAK;;EAEb,mBAAmB;IAClB,UAAU,EAAE,KAAK;;EAElB,QAAQ;IACP,MAAM,EAAE,KAAK;;EAEd,MAAM;IACL,KAAK,EAAE,KAAK;;EAEb,gBAAgB;IACf,KAAK,EAAE,IAAI;;EAEZ,sDAAsD;IACrD,MAAM,EAAE,IAAI;;EAEb,qBAAqB;IACpB,UAAU,EAAE,KAAK;;EAElB,0BAA0B;IACzB,KAAK,EAAE,GAAG;AAGZ,0BAA2B;EAC1B,sBAAsB;IACrB,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,OAAO;IAChB,eAAe,EAAE,KAAK;IACtB,0BAAG;MACF,KAAK,EAAE,GAAG;IAEX,4BAAK;MACJ,OAAO,EAAE,IAAI;AAIhB,0BAA2B;EAC1B;;;UAGS;IACL,kBAAkB,EAAE,IAAI;;EAE5B,oBAAgB;IACf,SAAS,EAAE,IAAI;IACf,gDAAuB;MACtB,SAAS,EAAE,IAAI;;EAKf,kBAAG;IACF,MAAM,EAAE,IAAI;;EAKb,8BAAW;IACV,KAAK,EAAE,IAAI;;EAIb,eAAG;IACF,MAAM,EAAE,KAAK;;EAGf,wBAAyB;IACrB,UAAU,EAAE,IAAI;;EAEpB,cAAe;IACX,UAAU,EAAE,IAAI;;EAEpB,oBAAoB;IACnB,OAAO,EAAE,GAAG;;EAEb,aAAa;IACZ,OAAO,EAAE,GAAG;;EAEb,mBAAmB;IAClB,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,IAAI;;EAEb,sCAAsC;IACrC,IAAI,EAAE,KAAK;;EAEZ,uCAAuC;IACtC,KAAK,EAAE,KAAK;;EAEb,eAAe;IACd,KAAK,EAAE,GAAG;;EAEX,cAAc;IACb,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,MAAM;;EAEhB,wBAAwB;IACvB,KAAK,EAAE,GAAG;;EAEX,iBAAkB;IACd,MAAM,EAAE,IAAI;;EAEhB,iCAAiC;IAChC,OAAO,EAAE,IAAI;;EAEd,qBAAqB;IACpB,UAAU,EAAE,KAAK;;EAElB,iBAAiB;IAChB,KAAK,EAAE,IAAI;;EAEZ,YAAY;IACX,MAAM,EAAE,IAAI;;EAEb,cAAc;IACb,MAAM,EAAE,IAAI;;EAEb,4EAA6E;IACzE,UAAU,EAAE,EAAE;;EAElB,uBAAuB;IACtB,MAAM,EAAE,WAAW;;EAEpB,yBAAyB;IACxB,MAAM,EAAE,SAAS;;EAElB,0BAA0B;IACzB,UAAU,EAAE,KAAK;;EAElB,iCAAiC;IAChC,YAAY,EAAE,CAAC;AAGjB,yBAA0B;EACzB,aAAc;IACV,OAAO,EAAE,QAAQ;;EAErB,cAAc;IACV,MAAM,EAAE,SAAS;;EAGrB,kBAAmB;IACf,MAAM,EAAE,KAAK;;EAEjB,iBAAkB;IACd,MAAM,EAAE,KAAK;;EAEjB,eAAgB;IACZ,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,GAAG;;EAGb,eAAG;IACF,MAAM,EAAE,IAAI;;EAIb,qBAAE;IACD,UAAU,EAAE,IAAI;EAEjB,sBAAG;IACC,KAAK,EAAE,IAAI;;EAGhB,oBAAoB;IACnB,SAAS,EAAE,IAAI;;EAEhB;;qBAEmB;IAClB,KAAK,EAAE,IAAI;;EAGZ;2BAC0B;IACtB,KAAK,EAAE,IAAI;;EAGd,iCAAW;IACV,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;;EAGrB,aAAc;IACV,YAAY,EAAE,GAAG;IACjB,iBAAG;MACF,YAAY,EAAE,GAAG;MACjB,KAAK,EAAE,IAAI;;EAGhB,kBAAkB;IACjB,MAAM,EAAE,MAAM;;EAEf,sCAAsC;IACrC,KAAK,EAAE,IAAI;IACX,IAAI,EAAG,GAAG;;EAEX,uCAAuC;IACtC,KAAK,EAAE,IAAI;IACX,KAAK,EAAG,GAAG;;EAEZ,qBAAqB;IACpB,QAAQ,EAAE,MAAM;IAChB,wBAAE;MACD,OAAO,EAAE,gBAAgB;;EAG3B,kBAAkB;IACjB,MAAM,EAAE,UAAU;;EAEnB,gCAAgC;IAC5B,UAAU,EAAE,IAAI;;EAEpB,iBAAkB;IACd,MAAM,EAAE,IAAI;;EAEhB,mBAAmB;IAClB,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,IAAI;;EAEb,+BAAgC;IAC5B,SAAS,EAAE,GAAG;;EAElB;gBACe;IACd,cAAc,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACX;oCAAkB;MAClB,UAAU,EAAE,IAAI;MAChB,aAAa,EAAE,IAAI;IAEpB;oCAAkB;MACjB,GAAG,EAAE,GAAG;;EAIZ,wBAAE;IACD,SAAS,EAAE,IAAI;EAEhB,uBAAC;IACA,OAAO,EAAE,GAAG;EAEb,sCAAgB;IACf,OAAO,EAAE,IAAI;;EAGf,4EAA6E;IACzE,UAAU,EAAE,GAAG;;EAGlB,sBAAE;IACD,MAAM,EAAE,GAAG;EAEZ,qBAAC;IACA,UAAU,EAAE,KAAK;EAElB,8BAAU;IACT,UAAU,EAAE,IAAI;;EAIlB,uBAAuB;IACtB,MAAM,EAAE,QAAQ;;EAEjB,6BAA6B;IAC5B,SAAS,EAAE,GAAG;AAGhB,yBAA0B;EACzB,aAAa;IAAC,UAAU,EAAE,MAAM;;EAChC,oBAAgB;IACf,SAAS,EAAE,IAAI;;EAEhB,wBAAwB;IACvB,UAAU,EAhlGH,OAAO;;EAklGf,iBAAiB;IAChB,UAAU,EAAE,IAAI;IAChB,wBAAI;MACH,KAAK,EAAE,IAAI;;EAGb,kCAAmC;IAC/B,UAAU,EAAE,IAAI;;EAEpB,4BAA4B;IAC3B,MAAM,EAAE,GAAG;IAEX,kBAAkB,EAAE,aAAa;IAChC,eAAe,EAAE,aAAa;IAC9B,UAAU,EAAE,aAAa;;EAE3B,yCAAyC;IACxC,kBAAkB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE,IAAI;;EAGlB,4CAA4C;IAC3C,UAAU,EAAE,MAAM;;EAEnB,yDAAyD;IACxD,UAAU,EAAE,OAAO;IACnB,KAAK,EAAE,IAAI;IACX,aAAa,EAAE,aAAa;IAC1B,iBAAiB,EAAE,aAAa;IAChC,SAAS,EAAE,aAAa;;EAE3B,yDAAyD;IACxD,UAAU,EAAE,OAAO;IACnB,KAAK,EAAE,IAAI;IACX,aAAa,EAAE,cAAc;IAC3B,iBAAiB,EAAE,cAAc;IACjC,SAAS,EAAE,cAAc;IACxB,UAAU,EAAE,IAAI;;EAEpB,MAAM;IACL,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,GAAG;IACV,YAAY,EAAE,IAAI;;EAEnB;2CACyC;IACxC,KAAK,EAAE,KAAK;;EAEb,iCAAiC;IAChC,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;;EAElB,iCAAiC;IAChC,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,IAAI;;EAEhB,iBAAiB;IAChB,MAAM,EAAE,SAAS;;EAGjB,cAAC;IACA,MAAM,EAAE,GAAG;IACX,kBAAG;MACF,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,SAAS;;EAIpB,kBAAkB;IACjB,UAAU,EAAE,IAAI;;EAEjB,aAAa;IACZ,KAAK,EAAE,GAAG;;EAEX,aAAa;IACZ,WAAW,EAAE,GAAG;IAChB,cAAc,EAAE,IAAI;IACpB,iBAAG;MACF,MAAM,EAAE,QAAQ;;EAGlB,sBAAsB;IACrB,YAAY,EAAE,GAAG;;EAGjB,cAAE;IACD,MAAM,EAAE,GAAG;EAEZ,eAAG;IACF,UAAU,EAAE,iBAAiB;;EAG/B,sBAAsB;IACrB,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,IAAI;;EAGZ,cAAI;IACH,MAAM,EAAE,GAAG;;EAGb,sCAAsC;IACrC,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,IAAI;;EAEd,aAAa;IACZ,MAAM,EAAE,GAAG;;EAEZ,4BAA4B;IAC3B,MAAM,EAAE,MAAM;;EAEf,kCAAmC;IAC/B,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;;EAEf,cAAe;IACX,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,KAAK;;EAElB,gBAAiB;IAChB,OAAO,EAAE,YAAY;;EAEtB,kBAAmB;IACf,MAAM,EAAE,MAAM;;EAElB,mBAAmB;IAElB,aAAa,EAAE,GAAG;IAClB,OAAO,EAAE,IAAI;IACb,qBAAC;MACA,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,IAAI;IAElB,0BAAM;MACL,WAAW,EAAE,IAAI;;EAGjB,wBAID;IAHC,IAAI;MAAC,iBAAiB,EAAE,aAAa;IACrC,GAAG;MAAC,iBAAiB,EAAE,gBAAgB;IACvC,EAAE;MAAC,iBAAiB,EAAE,aAAa;EAGrC,gBAIC;IAHC,IAAI;MAAC,SAAS,EAAE,aAAa;IAC7B,GAAG;MAAC,SAAS,EAAE,gBAAgB;IAC/B,EAAE;MAAC,SAAS,EAAE,aAAa;EAE7B,iCAAiC;IAChC,UAAU,EAAE,iBAAiB;;EAE9B,wBAAwB;IACvB,SAAS,EAAE,eAAe;;EAE3B,8BAA8B;IAC7B,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,IAAI;IACZ,aAAa,EAAE,KAAK;;EAErB,4BAA4B;IAC3B,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;;EAEV,QAAQ;IACP,WAAW,EAAE,IAAI;IACjB,mBAAU;MACT,UAAU,EAAE,iBAAiB;;EAG/B,gBAAiB;IACb,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK;;EAExB,eAAgB;IACZ,UAAU,EAAE,KAAK;;EAErB,gBAAgB;IACf,MAAM,EAAE,IAAI;;EAEb,aAAc;IACV,UAAU,EAAE,GAAG;;EAEnB,eAAe;IACd,cAAc,EAAE,IAAI;IACpB,kBAAG;MACC,MAAM,EAAE,WAAW;IAEvB,mBAAG;MACF,MAAM,EAAE,MAAM;;EAGhB,gCAAgC;IAC/B,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,iBAAiB;IAC7B,sCAAE;MACD,UAAU,EAAE,GAAG;;EAGjB,4BAA4B;IAC1B,UAAU,EAAE,iBAAiB;;EAE/B,wBAAyB;IACrB,YAAY,EAAE,GAAG;;EAErB,mBAAmB;IAClB,cAAc,EAAE,IAAI;IACpB,8BAAU;MACT,MAAM,EAAE,IAAI;MACZ,mBAAmB,EAAE,aAAa;IAElC,sBAAE;MACF,UAAU,EAAE,IAAI;;EAGlB;;8BAE4B;IAC3B,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,IAAI;;EAEnB;;0BAEwB;IACvB,MAAM,EAAE,GAAG;IACX;;gCAAG;MACF,OAAO,EAAE,GAAG;;EAGd;;yBAEuB;IACtB,KAAK,EAAE,IAAI;;EAEZ,8BAA8B;IAC7B,UAAU,EAAE,eAAe;;EAE5B;;sBAEoB;IACnB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;;EAGZ;;sBAEoB;IACnB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,GAAG;;EAEjB,oBAAoB;IACnB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;;EAEZ,0BAA0B;IACzB,MAAM,EAAE,KAAK;;EAEd;;uBAEqB;IACpB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,IAAI;;EAElB;;sBAEoB;IACnB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,KAAK;;EAElB;sBACoB;IACnB,MAAM,EAAE,aAAa;;EAEtB,oBAAoB;IACnB,SAAS,EAAE,IAAI;;EAEhB,mBAAmB;IAClB,UAAU,EAAE,KAAK;;EAElB,uBAAuB;IACtB,KAAK,EAAE,GAAG;;EAEX,mBAAmB;IAClB,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,EAAE;;EAEX,wCAAyC;IACrC,KAAK,EAAE,IAAI;;EAEf,mCAAmC;IAClC,WAAW,EAAE,cAAc;;EAE5B,QAAQ;IACP,MAAM,EAAE,WAAW;;EAEpB,+BAA+B;IAC9B,IAAI,EAAE,CAAC;IACP,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,IAAI;;EAEZ,+BAA+B;IAC9B,KAAK,EAAE,IAAI;;EAEZ,mCAAoC;IAChC,KAAK,EAAE,IAAI;;EAEf,QAAQ;IACP,UAAU,EAAE,IAAI;;EAEjB;;;oBAGkB;IACjB,UAAU,EAAE,IAAI;IAChB;;;kDAA2B;MAC1B,MAAM,EAAE,GAAG;MACX,OAAO,EAAE,GAAG;;EAGd,mBAAoB;IACnB,cAAc,EAAE,GAAG;IACnB,qBAAC;MACA,UAAU,EAAE,GAAG;IAEhB,qBAAC;MACA,aAAa,EAAE,IAAI;MACnB,OAAO,EAAE,YAAY;;EAGvB,yCAAyC;IACxC,IAAI,EAAE,IAAI;;EAEX,uBAAuB;IACtB,OAAO,EAAE,IAAI;IACb,sCAAc;MACb,WAAW,EAAE,MAAM;MAChB,OAAO,EAAE,OAAO;;EAGrB,gBAAgB;IACf,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,MAAM;;EAEhB,aAAa;IACZ,OAAO,EAAE,MAAM;IACf,gBAAE;MACD,UAAU,EAAE,CAAC;IAEd,yBAAW;MACV,UAAU,EAAE,MAAM;;EAInB,yBAAU;IACT,UAAU,EAAE,MAAM;;EAGpB,cAAc;IACb,UAAU,EAAE,uEAAuE;IACnF,eAAe,EAAE,SAAS;;EAE3B,gBAAgB;IACf,KAAK,EAAE,IAAI;;EAEZ,sDAAsD;IACrD,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,QAAQ;;EAIlB,wCAAyC;IACrC,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;;EAErB,mDAAmD;IAClD,KAAK,EAAE,GAAG;;EAEX,aAAa;IACZ,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,MAAM;IACf,gBAAE;MACD,MAAM,EAAE,QAAQ;IAEjB,iBAAG;MACF,UAAU,EAAE,IAAI;MAChB,KAAK,EAAE,GAAG;;EAIX,kCAAW;IACV,UAAU,EAAE,MAAM;EAEnB,0BAAG;IACF,UAAU,EAAE,IAAI;;EAGlB,gDAAgD;IAC/C,MAAM,EAAE,QAAQ;AAGlB,0BAA2B;EAC1B,QAAS;IACJ,MAAM,EAAE,KAAK;AAGnB,qDAAqD;EACnD;;aAEY;IACV,SAAS,EAAE,IAAI;AAGnB,qDAAqD;EACnD;;OAEM;IACJ,SAAS,EAAE,IAAI;AAGnB,8BAA+B;EAAE,QAAQ,EAAE,KAAK;EAAE,KAAK,EAAE,IAAI", +"sources": ["style.scss"], +"names": [], +"file": "style.css" +} \ No newline at end of file diff --git a/src/html/route-creator/css/style.scss b/src/html/route-creator/css/style.scss new file mode 100644 index 0000000..f799f04 --- /dev/null +++ b/src/html/route-creator/css/style.scss @@ -0,0 +1,3604 @@ +$orange: #ff6a46; +@mixin transition-speed($time,$effect){ + -webkit-transition: all $time $effect; + -moz-transition: all $time $effect; + transition: all $time $effect; +} +body{ + font-family: 'Montserrat', sans-serif; + // zoom: 85%; +} +input { + outline:none; + -webkit-appearance: none; + border-radius: 0; +} +.btn-orange{ + border-radius: 3px; + background: $orange; + color: #FFF; + font-size: 15px; + font-weight: 600; + display: inline-block; + padding: 10px 40px; + &:active,&:focus,&:hover{ + text-decoration: none; + color: #FFF; + } +} +.navbar-right{ + margin-right: 0px; + img{ + margin-right: 8px; + margin-top: -4px; + } +} +.navbar .navbar-nav { + display: inline-block; + float: none; + vertical-align: top; + .dropdown a{ + min-width: 140px; + // background: yellow; + &:hover,&:active,&:focus{ + background: #2c2928; + } + } + .dropdown:hover > a{ + background: #2c2928; + } + .dropdown-menu{ + border-radius: 0px; + border: none; + box-shadow: none; + background: #2c2928; + min-width: 140px; + top: 45px; + li>a{ + color: #FFF; + padding: 5px 20px; + &:hover{ + background: transparent; + color: $orange; + } + } + } +} +.navbar.user-scroll .navbar-nav{ + .dropdown a{ + &:hover,&:active,&:focus{ + background: #FFF; + } + } + .dropdown:hover > a{ + background: #FFF; + } + .dropdown-menu{ + background: #FFF; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); + li>a{ + color: #333; + &:hover{ + background: transparent; + color: $orange; + } + } + &::before{ + content: ''; + display: block; + width: 106%; + height: 18px; + background: #FFF; + position: absolute; + top: -6px; + left: -3%; + } + } +} +.navbar .navbar-collapse { + // text-align: center; +} +.navbar-nav>li>a{ + font-size: 15px; + color: #FFF; + line-height: 25px; + &:hover{ + background: transparent; + color: $orange; + } + &:hover,&:active,&:focus{ + background: transparent; + } +} +.navbar-nav.navbar-right>li>a{ + font-size: 13px; +} +.navbar-brand>img{ + height: 36px; +} +#logo-white{ + display: none; +} +.user-scroll{ + background-color: #FFF; + // background-color: $orange; + box-shadow: 0 0 5px rgba(0,0,0,.3); + li>a{ + color: $orange; + color: #333; + } + #logo-orange{ + display: none; + } + #logo-white{ + display: inline-block; + } +} +.hero{ + background: #000 url('../img/hero.jpg') no-repeat center; + background-size: cover; + color: #FFF; + .hero-inner{ + height: 47.85714285714286vw; + display: table; + width: 100%; + .hero-valign{ + display: table-cell; + vertical-align: middle; + text-align: center; + h1{ + font-size: 37px; + font-weight: 700; + margin: 0 0 20px; + line-height: 54px; + } + h4{ + font-size: 15px; + font-weight: 700; + line-height: 25px; + margin: 0 0 18px; + padding: 0 15px; + .mailchimp-count{ + color: $orange; + display: inline-block; + min-width: 50px; + text-align: right; + } + } + h5{ + font-size: 15px; + margin: 0 0 50px; + line-height: 25px; + } + .countdown{ + width: 320px; + margin: 0 auto; + p{ + border: 1px solid #FFF; + font-size: 24px; + font-weight: 700; + line-height: 55px; + border-radius: 2px; + } + h6{ + font-size: 15px; + text-transform: uppercase; + margin: 0 0 45px; + } + } + .hero-join{ + width: 390px; + margin: 0 auto; + input[type=email]{ + border: 1px solid #FFF; + border-radius: 3px; + background: rgba(255,255,255,0.3); + height: 37px; + display: block; + width: 100%; + padding: 0 5px; + color: #FFF; + &::-webkit-input-placeholder { + color: #FFF; + } + + &:-moz-placeholder { + color: #FFF; + } + + &::-moz-placeholder { + color: #FFF; + } + + &:-ms-input-placeholder { + color: #FFF; + } + } + input[type=submit]{ + color: #FFF; + border-radius: 3px; + font-size: 15px; + font-weight: bold; + background: $orange; + border: none; + display: block; + width: 100%; + height: 37px; + } + } + } + a[href='#modalKYCStatus']{ + color: #FFF; + font-size: 15px; + text-decoration: underline; + // margin: 20px auto 0; + display: block; + // width: 240px; + clear: both; + } + } + .countdown-row { + margin:0 auto 40px; + width:100%; + display:table; + text-align:center; + // &:last-child{ + // display: none; + // } + } + + .countdown-section { + display: block; + float: left; + text-align: center; + width:74px; + height:55px; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border:solid 1px #fff; + text-align:center; + margin:10px 15px; + // padding: 0 5px + } + + .countdown-amount { + // font-size: 60px; + // font-weight:700; + // line-height:120px; + // border: 1px solid #FFF; + font-size: 24px; + font-weight: 700; + line-height: 55px; + border-radius: 2px; + } + .countdown-period { + display: block; + font-size: 15px; + text-transform: uppercase; + margin: 0 0 45px; + font-weight: 500; + text-align: center; + } + &.hero-whitelist{ + background: #000 url('../img/intersection.jpg') no-repeat center; + background-size: cover; + } +} +.join-us-orange{ + padding: 25px 0 30px; + background: $orange; + text-align: center; + h2{ + color: #FFF; + margin: 0 0 16px; + font-size: 25px; + font-weight: 700; + } + a{ + display: inline-block; + margin: 0 8px; + img{ + width: 34px; + } + } +} +.best-brands{ + padding: 75px 0 100px; + text-align: center; + h2{ + color: #333333; + margin: 0 0 75px; + font-size: 25px; + font-weight: 700; + } + a{ + display: inline-block; + margin: 0 35px; + img{ + height: 65px; + margin: 10px 0; + } + } +} +.refer-dav{ + background: #ecebeb; + text-align: center; + padding: 40px 15px; + h2{ + font-size: 27px; + color: #333; + font-weight: 700; + margin: 0 0 20px; + } + h4{ + font-size: 17px; + color: #333; + font-weight: 500; + margin: 0 0 35px; + } + a{ + border-radius: 3px; + background: $orange; + color: #FFF; + font-size: 15px; + font-weight: 600; + display: inline-block; + padding: 10px 40px; + &:active,&:focus,&:hover{ + text-decoration: none; + } + } +} +.refer-friends{ + background: #f7f7f7 url('../img/refer.png') no-repeat center bottom; + background-size: 100% auto; + margin-top: 51px; + padding: 50px 0 75px; + text-align: center; + img{ + width: 80%; + } + #maitre-widget-container #maitre-main-header{ + font-size: 22px; + font-weight: 700; + color: #333; + line-height: 40px; + } + #maitre-widget-container, #maitre-widget-popup{ + margin-top: 15%; + } + #maitre-widget-container #maitre-form-content, #maitre-widget-popup #maitre-form-content{ + display: block; + } + #maitre-widget-container label, #maitre-widget-popup label{ + color: #363840; + top: 10px; + left: 10px; + } + #maitre-widget-container input, #maitre-widget-popup input{ + border: 1px solid #9e9fa1; + border-radius: 5px; + line-height: 55px; + height: 55px; + } + #maitre-widget-container input:focus + label, #maitre-widget-popup input:focus + label{ + display: none; + } + #maitre-widget-container #maitre-submit-button, #maitre-widget-popup #maitre-submit-button{ + border-radius: 5px; + box-shadow: none; + height: 47px; + line-height: 47px; + } +} +.video-home{ + background: url('../img/highways.jpg') no-repeat center; + background-size: cover; + color: #FFF; + text-align: center; + padding: 35px 0 60px; + h2{ + text-align: center; + font-size: 25px; + font-weight: 700; + margin: 0 0 45px; + line-height: 44px; + } + p{ + font-size: 16px; + text-align: left; + margin-top: 15px; + padding-left: 35px; + padding-right: 35px; + } +} + +.videoWrapper { +position: relative; +padding-bottom: 56.25%; /* 16:9 */ +padding-top: 25px; +height: 0; + iframe { + padding-right: 35px; + padding-left: 35px; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + + } +} + +.illustrations{ + padding-top: 75px; + padding-bottom: 75px; + h2{ + text-align: center; + line-height: 44px; + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 40px; + } + h4{ + color: #333333; + font-size: 16px; + font-weight: 500; + margin: 35px 0 15px; + } + p{ + color: #333333; + font-size: 15px; + font-weight: 300; + margin: 0; + } + img{ + height: 150px; + } +} +.technology{ + text-align: center; + background-color: #f7f7f7; + padding: 30px 0 60px; + h2{ + color: #363840; + font-weight: 700; + font-size: 25px; + padding-top: 38px; + margin: 0 auto 25px; + width: 300px; + border-top: 1px solid $orange; + } + p{ + color: #333333; + font-size: 15px; + font-weight: 300; + margin: 0 auto 35px; + width: 60%; + } + img{ + height: 412px; + } +} +.technologies{ + text-align: center; + padding-top: 40px; + // padding-bottom: 60px; + img{ + margin: 0 0 70px; + height: 182px; + } + h4{ + font-size: 17px; + font-weight: 500; + color: #333333; + margin: 20px 0 30px; + text-align: left; + } + ul{ + color: $orange; + padding-left: 20px; + } + p{ + text-align: left; + color: #333333; + font-size: 15px; + font-weight: 300; + // margin: 0 auto 35px; + } +} +.blockchain-enables{ + padding: 60px 0 40px; + background: #213946; + color: #FFF; + h2{ + text-align: center; + line-height: 44px; + font-size: 25px; + font-weight: 700; + margin: 0 0 32px; + } + ul{ + list-style: none; + li{ + background: url('../img/check.png') no-repeat top 2px left; + font-size: 15px; + font-weight: 300; + margin: 0 0 40px; + padding-left: 36px; + } + } +} +.blockchain-middleman{ + text-align: center; + padding-top: 60px; + padding-bottom: 60px; + color: #333; + h2{ + font-size: 27px; + font-weight: 700; + } + h3{ + font-size: 17px; + font-weight: 500; + margin: 0 0 50px; + } + h4{ + font-size: 17px; + font-weight: 700; + margin: 0 0 20px; + } + h5{ + font-size: 16px; + font-weight: 500; + margin: 0 0 10px; + } + p{ + font-size: 15px; + font-weight: 300; + margin: 0 0 30px; + padding: 0 60px; + } + img{ + width: 70%; + } + a.btn-orange{ + border-radius: 3px; + background: $orange; + color: #FFF; + font-size: 15px; + font-weight: 600; + display: inline-block; + padding: 10px 40px; + &:active,&:focus,&:hover{ + text-decoration: none; + } + } + .row > div:after{ + content: ""; + display: block; + position: absolute; + width: 48px; + height: 31px; + background: url("../img/arrow-right.png") no-repeat center; + right: -24px; + top: 215px; + } + .row > div:last-child::after{ + display: none; + } +} +.prototypes-section{ + background: #eeeded; + .container{ + background: url('../img/prototypes.jpg') no-repeat center; + background-size: 100%; + height: 40vw; + } + h2{ + margin: 15vw 0 20px; + font-weight: 700; + } + a{ + background: $orange; + color: #FFF; + padding: 10px 15px; + font-size: 17px; + border-radius: 3px; + height: 47px; + font-weight: 500; + margin: 15px 0 0; + display: inline-block; + &:focus,&:active,&:hover{ + text-decoration: none; + } + } + // a{ + // color: #4c7ce8; + // font-size: 14px; + // font-weight: 500; + // display: block; + // text-align: center; + // span{ + // border-bottom: 1px solid #4c7ce8; + // } + // &:hover{ + // text-decoration: none; + // } + // } +} +.development-tools{ + background: #eeeded; + padding: 46px 0 66px; + h2{ + text-align: center; + line-height: 44px; + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + } + h4{ + color: #333333; + font-size: 17px; + font-weight: 500; + margin: 0 0 -5px; + text-align: center; + } + img{ + width: 100%; + } + a{ + color: #4c7ce8; + font-size: 14px; + font-weight: 500; + display: block; + text-align: center; + span{ + border-bottom: 1px solid #4c7ce8; + } + img{ + width: auto; + margin-left: 5px; + } + &:hover{ + text-decoration: none; + } + } + .laptop{ + position: relative; + video{ + position: absolute; + top: 55px; + left: 50%; + width: 232px; + height: 143px; + margin-left: -114px; + object-fit: fill; + } + } +} +.roadmap{ + img{ + width: 90%; + max-width: 1270px; + } + background: url('../img/city.jpg') no-repeat center; + background-size: cover; + padding: 60px 0 55px; + text-align: center; + h2{ + color: #FFF; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + } + a{ + display: block; + color: #FFF; + font-weight: 700; + font-size: 14px; + background: $orange; + margin: 50px auto 0; + line-height: 47px; + height: 47px; + width: 260px; + border-radius: 3px; + &:hover{ + text-decoration: none; + } + } +} +.dav-alliance{ + margin-top: 30px; + padding-bottom: 30px; + .alliance-logo{ + padding-top: 30px; + // width: 300px; + margin: 0 auto; + border-top: 1px solid $orange; + } + p{ + font-size: 17px; + color: #333333; + margin: 35px 0 45px; + font-weight: 300; + } + h4{ + font-weight: 700; + font-size: 17px; + color: #333333; + margin: 45px 0 20px; + text-align: center + } + a.goToAlliance, + a[href='#modalMessage']{ + background: $orange; + color: #FFF; + padding: 10px 15px; + font-size: 17px; + border-radius: 3px; + height: 47px; + font-weight: 500; + margin: 60px 0; + display: inline-block; + &:focus,&:active,&:hover{ + text-decoration: none; + } + } + img{ + height: 90px; + } + input[type=email]{ + border: 1px solid #333; + line-height: 37px; + height: 37px; + width: 100%; + display: block; + border-radius: 3px; + padding: 0 5px; + } + input[type=submit]{ + border: none; + color: #FFF; + background: $orange; + font-weight: 700; + font-size: 15px; + border-radius: 3px; + display: block; + width: 100%; + height: 37px; + } + // .col-sm-4{ + // width: 20%; + // } +} +.alliance-modal.team-modal{ + .modal-dialog{ + width: 360px; + } + input[type=text]{ + display: block; + width: 100%; + border: 1px solid #333; + border-radius: 3px; + height: 37px; + margin: 0 0 15px; + padding: 0 10px; + } + textarea{ + display: block; + width: 100%; + border: 1px solid #333; + border-radius: 3px; + min-height: 100px; + margin: 0 0 15px; + padding: 10px; + resize: none; + } + label{ + width: 100%; + display: block; + color: #333; + font-size: 15px; + &.error{ + color: $orange; + margin: -10px 0 10px; + } + } + input[type=submit]{ + border-radius: 3px; + background: $orange; + color: #FFF; + border: none; + height: 37px; + padding: 0 10px; + font-size: 15px; + font-weight: 700; + } + h4{ + text-align: center; + margin: 10px 0; + color: #333; + } + .modal-dialog{ + .modal-content{ + .modal-body{ + padding-bottom: 15px; + } + } + } +} +.as-seen-on{ + padding: 40px 0 60px; + background: #f7f7f7; + h2{ + text-align: center; + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + } + img{ + height: 150px; + } + a{ + display: inline-block; + margin-top: 20px; + color: #333333; + font-size: 15px; + font-weight: 500; + &:hover{ + text-decoration: none; + } + img{ + margin-left: 10px; + } + } +} +.partners{ + padding: 0 0 60px; + text-align: center; + h2{ + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + border-top: 1px solid $orange; + padding-top: 50px; + } + img{ + height: 115px; + } +} +.people-are-talking{ + text-align: center; + background: #eee; + padding: 60px 0; + h2{ + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 70px; + } + h3{ + color: #333333; + font-size: 21px; + font-weight: 700; + margin: 40px 0 15px; + } + p{ + font-style: italic; + min-height: 120px; + font-size: 15px; + margin: 0 0 20px; + } + a{ + color: #4c7ce8; + font-size: 14px; + font-weight: 500; + span{ + border-bottom: 1px solid #4c7ce8; + } + } +} +.join-telegram{ + background: $orange; + color: #FFF; + text-align: center; + padding: 40px 0; + h2{ + font-size: 25px; + font-weight: 700; + margin: 0 0 30px; + } + a{ + color: #FFF; + display: inline-block; + border: 1px solid #FFF; + border-radius: 3px; + line-height: 47px; + height: 47px; + font-size: 14px; + font-weight: 700; + padding: 0 35px; + &:hover{ + text-decoration: none; + } + img{ + margin-right: 8px; + } + } +} +.team{ + padding-top: 50px; + // padding-bottom: 35px; + h2{ + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 70px; + text-align: center; + } + .team-large{ + a{ + display: block; + width: 280px; + width: 224px; + margin: 0 auto; + color: #333333; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; + img{ + width: 65%; + margin: 0 auto; + display: block; + } + .row img{ + width: auto; + margin-top: 10px; + } + &:hover,&:focus,&:active{ + outline: none; + } + &:hover{ + filter:brightness(60%) + } + } + h4{ + font-size: 17px; + font-weight: 500; + } + h5{ + font-size: 15px; + font-weight: 500; + color: $orange; + } + h3{ + font-size: 17px; + font-size: 13px; + color: #333333; + font-weight: 300; + // width: 280px; + margin: 15px auto 0; + margin: 0; + line-height: 20px; + & + img{ + height: 152px; + } + } + .advisor-logo{ + width: 224px; + margin: 0 auto; + min-height: 90px; + // background: red; + .row{ + margin-left: -5px; + margin-right: -5px; + div{ + padding-left: 5px; + padding-right: 5px; + } + } + img{ + width: 100%; + } + } + .hasVideo{ + a{ + position: relative; + } + img.videoIcon{ + position: absolute; + top: 10px; + left: 22%; + width: 12%; + } + } + } + .team-medium{ + a{ + display: block; + width: 203px; + // width: 162px; + margin: 20px auto 50px; + color: #333333; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; + img{ + width: 65%; + margin: 0 auto; + display: block; + } + .row img{ + width: auto; + margin-top: 15px; + } + &:hover{ + filter:brightness(60%) + } + &:hover,&:focus,&:active{ + outline: none; + } + } + h4{ + font-weight: 500; + font-size: 17px; + margin: 10px 0 5px; + } + p{ + font-weight: 300; + font-size: 15px; + color: $orange; + } + } + .team-small{ + a{ + display: block; + width: 100%; + margin: 20px auto 50px; + color: #333333; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; + img{ + width: 65%; + margin: 0 auto; + display: block; + } + .row{ + margin: 0px; + & > div{ + padding: 0px; + } + img{ + width: auto; + margin-top: 15px; + } + } + &:hover{ + filter:brightness(60%) + } + &:hover,&:focus,&:active{ + outline: none; + } + } + h4{ + font-weight: 500; + font-size: 15px; + margin: 10px 0 5px; + } + p{ + font-weight: 300; + font-size: 15px; + color: $orange; + } + } +} +.contributors{ + ul{ + padding: 0px; + list-style-type: none; + li{ + width: 6%; + margin: 0.33%; + display: inline-block; + img{ + width: 100%; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; + } + a{ + display: block; + position: relative; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; + &:focus,&:active{ + outline: none; + } + &:hover{ + outline: none; + img{ + filter: brightness(60%) grayscale(100%); + -webkit-filter: brightness(60%) grayscale(100%); + } + &:after{ + content: ''; + background: url('../img/right-orange-arrow-thick.png') no-repeat center; + position: absolute; + display: block; + width: 12px; + height: 24px; + top: 50%; + left: 50%; + margin-top: -12px; + margin-left: -6px; + z-index: 999; + } + } + } + } + } +} +.modal-backdrop.in { + filter: alpha(opacity=70); + opacity: .7; +} +.team-modal{ + .modal-dialog{ + // padding-top: 15%; + width: 800px; + button.close{ + opacity: 1; + color: #333; + font-size: 36px; + &:focus,&:active{ + outline: none; + } + } + br + img{ + width: 90%; + margin: 0 auto; + display: block; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + } + h2{ + margin: 0 0 10px; + font-size: 25px; + font-weight: 700; + color: #333; + } + h5{ + margin: 0 0 10px; + font-size: 17px; + font-weight: 500; + color: #333; + } + p{ + margin: 0 0 25px; + font-size: 15px; + font-weight: 300; + color: #333; + span{ + font-weight: 500; + } + } + a{ + display: inline-block; + margin-right: 10px; + &.repo-contrib{ + text-decoration: underline; + margin-right: 3px; + font-weight: 700; + color: #333; + } + } + .modal-content{ + box-shadow: none; + border-radius: 3px; + .modal-body{ + padding-bottom: 50px; + } + } + .videoWrapper{ + margin: 0 0 15px; + padding-top: 0px; + iframe{ + padding: 0px; + } + } + } +} +.add-blur{ + filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='3'); + -webkit-filter: url(#blur-filter); + filter: url(#blur-filter); + -webkit-filter: blur(4px); + filter: blur(4px); + &:after{ + content: ''; + display: block; + background: red; + background: rgba(0,0,0,0.35); + position: absolute; + top: 99px; + left: 0; + bottom: 0; + right: 0; + } +} +.fundraising-goals{ + // padding-top: 20px; + position: relative; + .blur-svg { + display: none; + } + h2{ + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + text-align: center; + // padding-top: 50px; + margin: 0 auto; + line-height: 99px; + } + h4{ + font-size: 19px; + font-weight: 500; + color: #333333; + line-height: 50px; + margin: 20px 0 30px; + } + img{ + height: 297px; + } + .market-cap{ + width: 1100px; + margin: 0 auto; + .row{ + margin-left: -2px; + margin-right: -2px; + div{ + padding-left: 2px; + padding-right: 2px; + } + } + } + p{ + font-weight: 500; + line-height: 60px; + background: #c7c7bf; + font-size: 17px; + color: #333333; + text-align: center; + } + .blur-funds{ + padding-top: 20px; + padding-bottom: 50px; + } + .not-from-us{ + background: #FFF; + width: 460px; + padding: 20px; + position: absolute; + z-index: 2; + left: 50%; + margin-left: -230px; + top: 190px; + p{ + background: #FFF; + font-size: 15px; + color: #333; + font-weight: 500; + margin: 0 0 20px; + line-height: normal; + } + a{ + border-radius: 3px; + background: $orange; + color: #FFF; + font-size: 15px; + font-weight: 500; + display: inline-block; + padding: 10px 15px; + &:active,&:focus,&:hover{ + text-decoration: none; + } + } + } + a.btn-orange{ + border-radius: 3px; + background: $orange; + color: #FFF; + font-size: 15px; + font-weight: 500; + display: inline-block; + padding: 10px 15px; + &:active,&:focus,&:hover{ + text-decoration: none; + } + } + &.offsetMe{ + h2:before{ + content: ""; + display: block; + height: 58px; + } + .add-blur:after{ + top: 157px; + } + } +} +.daily-dav{ + background: #f7f7f7; + padding: 45px 0 80px; + h2{ + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + text-align: center; + } + p{ + color: #333333; + font-size: 15px; + font-weight: 300; + margin: 0 0 25px; + &:first-child{ + margin-top: 85px; + } + } + img{ + margin-top: 75px; + width: 100%; + } + a{ + color: #4c7ce8; + font-size: 14px; + font-weight: 500; + span{ + border-bottom: 1px solid #4c7ce8; + } + img{ + width: auto; + margin: 0 0 0 5px; + } + &:active,&:focus,&:hover{ + text-decoration: none; + } + } +} +.crowd-sale{ + background: $orange; + padding: 40px 0 60px; + text-align: center; + h3{ + color: #FFF; + font-size: 17px; + font-weight: 700; + margin: 0 0 20px; + } + .join-crowd-sale{ + width: 385px; + margin: 0 auto; + input[type=email]{ + border: 1px solid #FFF; + border-radius: 3px; + background: rgba(255,255,255,0.3); + background: transparent; + height: 37px; + display: block; + width: 100%; + padding: 0 10px; + font-weight: 500; + color: #FFF; + font-size: 15px; + &::-webkit-input-placeholder { + color: #FFF; + } + + &:-moz-placeholder { + color: #FFF; + } + + &::-moz-placeholder { + color: #FFF; + } + + &:-ms-input-placeholder { + color: #FFF; + } + } + input[type=submit]{ + border-radius: 3px; + font-size: 15px; + font-weight: bold; + color: $orange; + background: #FFF; + border: 1px solid #FFF; + display: block; + width: 100%; + height: 37px; + } + } +} + +.faq-questions{ + padding-top: 75px; + padding-bottom: 60px; + h2{ + color: #333333; + font-size: 25px; + font-weight: 700; + margin: 0 0 50px; + text-align: center; + } + p{ + margin: 0px; + } + h3 { + text-align: center; + margin: 60px 0 0; + a{ + color: #333; + font-size: 17px; + font-weight: 700; + &:hover,&:active,&:focus{ + text-decoration: none; + } + img{ + margin-left: 10px; + height: 50px; + } + } + } + .panel{ + border-bottom: 1px solid #d4d4d4 !important; + border-radius: 0px; + margin-bottom: 10px; + padding-bottom: 10px; + box-shadow: none; + .panel-heading{ + padding: 5px 15px; + .panel-title{ + a{ + font-size: 15px; + color: #333333; + font-weight: 500; + display: block; + padding-right: 50px; + background: url('../img/faq-down.png') no-repeat top 4px right; + &[aria-expanded=true]{ + background: url('../img/faq-up.png') no-repeat top 4px right; + } + &:hover,&:active,&:focus{ + text-decoration: none; + } + } + } + } + .panel-body{ + padding: 0 15px; + border: none !important; + } + } +} + +footer{ + padding: 0; + .footer-gray{ + background: #333333; + padding: 35px 0; + color: #FFF; + } + .social{ + // text-align: center; + a{ + display: inline-block; + margin: 20px 23px; + img{ + height: 50px; + } + } + } + h3{ + font-size: 25px; + font-weight: 700; + margin: 30px 0 30px; + color: #333333; + text-align: center + } + .links{ + p,a{ + font-size: 15px; + color: #271e36; + font-weight: 300; + text-decoration: underline; + line-height: 30px; + } + p{ + text-decoration: none; + margin-bottom: 30px; + } + } + .line{ + height: 1px; + background: #d4d4d4; + margin-bottom: 30px; + } + .about-legal{ + h4{ + font-size: 15px; + color: #FFF; + font-weight: 700; + line-height: 30px; + margin: 0px; + } + a{ + font-size: 15px; + display: block; + line-height: 30px; + color: #FFF; + margin-top: 18px; + } + .social{ + a{ + display: inline-block; + min-width: 32%; + margin: 6px 0; + img{ + margin-right: 6px; + display: inline-block; + height: 38px; + } + } + } + } + .copyright{ + font-size: 13px; + color: #FFF; + text-align: center; + margin-top: 40px; + } +} + +// media page +.hero.hero-media{ + background: url(../img/media/media.jpg) no-repeat center; + background-size: cover; + .hero-inner{ + height: 30.71428571428571vw !important; + } +} +.press-releases{ + h2{ + font-size: 31px; + color: #333; + font-weight: 700; + text-align: center; + margin: 55px 0 40px + } + a{ + &:hover, + &:active, + &:focus{ + text-decoration: none; + } + &.show-more{ + display: inline-block; + padding: 10px 15px; + background: #f1f1f2; + color: $orange; + font-size: 15px; + font-weight: 500; + border-radius: 3px; + } + + } + article{ + min-height: 270px; + position: relative; + text-align: center; + padding: 20px; + margin: 0 15px 75px; + -webkit-box-shadow: 0px 0px 21px 7px rgba(200,202,205,0.74); +-moz-box-shadow: 0px 0px 21px 7px rgba(200,202,205,0.74); +box-shadow: 0px 0px 21px 7px rgba(200,202,205,0.74); + h5{ + font-size: 15px; + font-weight: 500; + color: $orange; + } + p{ + font-size: 13px; + font-weight: 300; + color: #484c59; + margin: 0px; + } + h6{ + font-size: 11px; + font-weight: 500; + color: #484c59; + font-style: italic; + position: absolute; + bottom: 20px; + width: 100%; + margin: 0px; + margin-left: -15px; + } + } +} + +.media-articles{ + h2{ + font-size: 31px; + color: #333; + font-weight: 700; + text-align: center; + margin: 55px 0 40px + } + a{ + &:hover, + &:active, + &:focus{ + text-decoration: none; + } + &.show-articles{ + display: inline-block; + padding: 10px 15px; + background: #f1f1f2; + color: $orange; + font-size: 15px; + font-weight: 500; + border-radius: 3px; + } + article{ + position: relative; + min-height: 430px; + margin: 0 15px 64px; + -webkit-box-shadow: 0px 0px 21px 7px rgba(200,202,205,0.74); +-moz-box-shadow: 0px 0px 21px 7px rgba(200,202,205,0.74); +box-shadow: 0px 0px 21px 7px rgba(200,202,205,0.74); + & > img{ + width: 100%; + } + h4{ + color: $orange; + font-size: 19px; + font-weight: 700; + margin: 0px; + padding: 15px; + line-height: 30px; + text-transform: uppercase; + } + .row{ + position: absolute; + bottom: 0px; + width: 100%; + margin-left: 0px; + h5{ + color: #484c59; + font-size: 15px; + font-weight: 700; + margin: 0 0 0 -15px; + line-height: 21px; + } + h6{ + color: #484c59; + font-size: 15px; + font-weight: 300; + line-height: 21px; + margin: 0 0 20px -15px; + } + } + } + } +} +.media-gallery{ + // padding-bottom: 180px; + h2{ + font-size: 31px; + color: #333; + font-weight: 700; + text-align: center; + margin: 55px 0 40px + } + img{ + margin: 0 40px; + } + .arrow-left.slick-arrow{ + margin: 0px; + position: absolute; + left: -59px; + top: 25%; + cursor: pointer; + } + .arrow-right.slick-arrow{ + margin: 0px; + position: absolute; + right: -59px; + top: 25%; + cursor: pointer; + } + a{ + &:hover, + &:active, + &:focus{ + outline: none; + } + } +} +.hidden-press,.hidden-articles{ + display: none; +} +.alert-bottom{ + position: fixed; + bottom: 0px; + left: 0px; + width: 100%; +} +.alert-announcement{ + background: rgba(255,255,255,0.3); + background: rgba(55,201,182,0.9); + background: rgba(51,51,51,0.9); + color: #FFF; + border-radius: 0px; + padding: 5px 15px; + margin: 0px; + .close{ + color: #FFF; + box-shadow: none; + font-weight: 300; + opacity: 1; + font-size: 30px; + position: absolute; + } + p{ + font-size: 15px; + padding-left: 30px; + display: inline-block; + margin: 0px !important; + line-height: 30px; + a{ + color: #FFF; + text-decoration: underline !important; + font-weight: 700; + } + } +} +//prototypes page +.hero.hero-prototypes{ + background: #000 url(../img/prototypes/hero.jpg) no-repeat center; + background-size: cover; + .hero-inner{ + // height: 58vw !important; + .hero-valign{ + vertical-align: top; + } + } + h1{ + margin: 10% 0 !important; + // font-size: 30px !important; + } + h2{ + font-size: 24px; + font-weight: 700; + margin: 0 0 20px; + } + p{ + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; + span{ + font-weight: 700; + } + } + #iphonex{ + margin-top: -90px; + position: absolute; + } + #drone{ + position: absolute; + top: 5%; + left: 20%; + -webkit-animation: balls 4s infinite; + animation: balls 4s infinite; + -webkit-animation-timing-function: cubic-bezier; + animation-timing-function: cubic-bezier; + } + a{ + display: block; + color: $orange; + line-height: 30px; + font-weight: 700; + font-size: 16px; + } +} +@-webkit-keyframes balls { + from{-webkit-transform: translateY(0);} + 50%{-webkit-transform: translateY(70px);} + to{-webkit-transform: translateY(0);} +} + +@keyframes balls { + from{transform: translateY(0);} + 50%{transform: translateY(70px);} + to{transform: translateY(0);} +} +.drone-charge{ + background: url(../img/prototypes/drone_charge.png) no-repeat center center; + background-size: auto 90%; + height: 90vh; + h2{ + font-size: 24px; + font-weight: 700; + margin: 20% 0 20px; + } + p{ + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; + span{ + font-weight: 700; + } + } + a{ + display: block; + color: #363840; + color: $orange; + line-height: 30px; + font-weight: 700; + font-size: 16px; + } +} +.drone-flight-planning{ + background: #363840 url('../img/prototypes/route-plan.jpg') no-repeat top center; + // padding: 100px 0; + height: 50vw; + position: relative; + overflow: hidden; + h2{ + font-size: 24px; + font-weight: 700; + margin: 20% 0 20px; + color: #FFF; + } + p{ + color: #FFF; + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; + span{ + font-weight: 700; + } + } + a{ + display: block; + color: #363840; + color: $orange; + line-height: 30px; + font-weight: 700; + font-size: 16px; + } + img{ + width: 80%; + margin-top: 10%; + } + video { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + width: 100%; + } + .container{ + z-index: 2; + position: relative; + } +} +.dav-cli{ + background: url(../img/prototypes/orange-bg.jpg) no-repeat center; + background-size: cover; + color: #FFF; + padding-top: 120px; + h2{ + font-size: 24px; + font-weight: 700; + margin: 0 0 20px; + &#portal-title{ + margin-top: 30px; + } + } + p{ + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; + span{ + font-weight: 700; + } + } + #laptop{ + margin-top: -30px; + } + a{ + display: block; + color: #fff; + line-height: 30px; + font-weight: 700; + font-size: 16px; + &#developer-portal-link{ + margin-bottom: 25px; + } + } + #car{ + margin-top: 54px; + } +} +.dav-portal{ + background: #363840 url(../img/prototypes/orange-links.png) no-repeat center bottom; + background-size: 100%; + height: 45.71428571428571vw; + text-align: center; + img{ + margin-top: -165px; + // margin-left: 315px; + position: relative; + z-index: 2; + } +} +.block-explorer{ + background: #f7f7f7; + color: #363840; + img{ + width: 100%; + margin-top: 42px; + margin-bottom: 1px; + } + h2{ + font-size: 24px; + font-weight: 700; + margin: 32% 0 20px; + } + p{ + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; + span{ + font-weight: 700; + } + } + a{ + display: block; + color: #363840; + color: $orange; + line-height: 30px; + font-weight: 700; + font-size: 16px; + } +} +.mission-control,.search-rescue{ + color: #2b2d33; + padding-top: 110px; + padding-bottom: 110px; + img{ + width: 100%; + } + h2{ + font-size: 24px; + font-weight: 700; + margin: 40px 0 20px; + &#second-title{ + margin-top: 110px; + } + } + p{ + font-size: 15px; + font-weight: 300; + line-height: 24px; + margin: 0 0 20px; + span{ + font-weight: 700; + } + } + a{ + display: block; + color: $orange; + line-height: 30px; + font-weight: 700; + font-size: 16px; + } + .mission-vid{ + position: relative; + video { + position: absolute; + top: 51px; + left: 50%; + width: 417px; + height: 315px; + margin-left: -208px; + object-fit: fill; + } + } +} +.search-rescue{ + background: #f7f7f7 url(../img/prototypes/gray-links.png) no-repeat center bottom; + background-size: 100%; + height: 45.71428571428571vw; + padding: 80px 0 0; + img{ + width: auto; + &#rover{ + margin-right: 50px; + } + } +} +// careers page +.hero.hero-careers{ + background: #000 url(../img/careers.jpg) no-repeat center; + background-size: cover; + .hero-inner{ + height: 30.71428571428571vw !important; + } +} +.under-careers{ + text-align: center; + // padding-top: 50px; + p{ + font-size: 17px; + color: #484c59; + font-weight: 300; + margin: 40px 0 0; + a{ + font-weight: 700; + color: #484c59; + text-decoration: underline; + } + } +} +.job-list{ + h2{ + font-size: 31px; + color: #333; + font-weight: 700; + text-align: center; + margin: 55px 0 40px + } + a{ + &:hover, + &:active, + &:focus{ + text-decoration: none; + } + &.show-more{ + display: inline-block; + padding: 10px 15px; + background: #f1f1f2; + color: $orange; + font-size: 15px; + font-weight: 500; + border-radius: 3px; + } + + } + article{ + min-height: 270px; + position: relative; + text-align: center; + padding: 20px; + margin: 0 15px 75px; + -webkit-box-shadow: 0px 0px 21px 7px rgba(200,202,205,0.74); +-moz-box-shadow: 0px 0px 21px 7px rgba(200,202,205,0.74); +box-shadow: 0px 0px 21px 7px rgba(200,202,205,0.74); + h5{ + font-size: 20px; + font-weight: 700; + color: $orange; + margin: 0 0 20px; + } + p{ + font-size: 15px; + font-weight: 400; + color: #333; + margin: 0 0 20px; + } + h6{ + font-size: 15px; + font-weight: 700; + color: #333; + margin: 0px; + &:after{ + content: ''; + display: block; + width: 50%; + height: 1px; + background: $orange; + margin: 20px auto 25px; + } + } + } +} +.team-modal.job-modal{ + .modal-dialog{ + width: 640px; + } + .modal-body{ + padding-left: 80px; + padding-right: 80px; + .close{ + position: absolute; + right: 5px; + top: 0px; + } + } + h5{ + font-size: 20px; + font-weight: 700; + color: $orange; + margin: 0 0 20px; + text-align: center; + } + h6{ + text-align: center; + font-size: 15px; + font-weight: 300; + color: #333; + margin: 0px; + &:after{ + content: ''; + display: block; + width: 150px; + height: 1px; + background: $orange; + margin: 20px auto 25px; + } + span{ + font-weight: 700; + } + } + p{ + font-size: 15px; + font-weight: 400; + color: #333; + margin: 0 0 10px; + a{ + font-weight: 700; + color: #333; + text-decoration: underline; + } + } + ul { + list-style: none; + padding: 0; + margin: 0; + } + + li { + font-size: 15px; + font-weight: 400; + color: #333; + margin: 0 0 5px; + } + + li::before { + content: '\2022'; + color: red; + padding-right: 5px; + font-size: 20px; + display: inline-block; + } +} +.team-modal.kyc-modal{ + .modal-body{ + padding: 0 0 30px !important; + h3{ + margin: 0px; + background: #333 url(../img/kyc-header.jpg) no-repeat center; + background-size: cover; + line-height: 160px; + color: #FFF; + font-weight: 700; + border: 1px solid #FFF; + } + h4{ + font-weight: 700; + color: $orange; + } + p{ + padding: 0 30px; + a{ + margin: 0; + color: $orange; + } + &.kyc-medium, + &.kyc-telegram, + &.kyc-telegram2{ + a{ + color: $orange; + } + } + } + button,.kyc-button{ + border: none; + color: #FFF; + font-weight: 500; + background: $orange; + font-size: 18px; + border-radius: 3px; + padding: 10px 20px; + &:hover, + &:active, + &:focus{ + text-decoration: none; + } + &.close{ + background: none; + font-size: 30px; + position: absolute; + top: 5px; + right: 5px; + padding: 10px; + line-height: 15px; + } + } + input[type=email]{ + display: block; + width: 40%; + padding: 0 15px; + line-height: 44px; + height: 44px; + font-size: 17px; + margin: 60px auto 40px; + border: 2px solid #000; + border-radius: 5px; + } + h5{ + color: red; + margin: -20px 0 20px; + } + } +} +// blockchain today page +.hero{ + &.hero-blockchain { + background: #333 url(../img/blockchain-today/hero.jpg) no-repeat center; + background-size: cover; + .hero-inner{ + height: 36.71428571428571vw !important; + } + h3{ + font-size: 21px; + font-weight: 400; + } + } + +} +.peer-to-peer{ + background: #eeeded url('../img/prototypes/gray-links.png') no-repeat center bottom -100px; + background-size: 100% auto; + padding: 60px 0 135px; + h2{ + font-size: 27px; + font-weight: 700; + color: #131313; + margin-top: 15%; + } + p{ + font-size: 17px; + font-weight: 400; + color: #131313; + } +} +.open-source{ + background: #eeeded url('../img/blockchain-today/code.jpg') no-repeat center; + background-size: cover; + // height: 37.07142857142857vw; + padding: 45px 0; + color: #FFF; + h2{ + font-size: 27px; + font-weight: 700; + // padding-top: 20px; + } + p{ + font-size: 17px; + font-weight: 400; + line-height: 30px; + } + .people-taxi{ + position: relative; + bottom: -110px; + } +} +.every-feature{ + // overflow-x: hidden; + // height: 50vw; + // background: green; + h2{ + font-size: 25px; + font-weight: 700; + color: #131313; + // margin-top: 15%; + } + p{ + font-size: 17px; + font-weight: 400; + color: #131313; + } + .puzzle-container{ + margin-top: -300px; + } + .phone-puzzle{ + position: relative; + top: 0px; + @include transition-speed(1.4s,ease-out); + .iPhoneX{ + background: url('../img/blockchain-today/iPhoneX.png') no-repeat center; + width: 250px; + height: 506px; + margin: -300px auto 0; + margin: 0 auto 0; + position: relative; + // top: -300px; + .case{ + background: url('../img/blockchain-today/case.png') no-repeat center; + width: 250px; + height: 506px; + position: absolute; + top: 0px; + left: 0; + // margin-left: -62px; + z-index: 3; + } + } + .puzzle{ + position: absolute; + left: 50%; + margin-left: -125px; + top: 412px; + z-index: 2; + display: none; + &.p1{ + margin-left: -1240px; + @include transition-speed(0.8s,linear); + } + &.p2{ + margin-left: 1109px; + @include transition-speed(1s,linear); + } + &.p3{ + margin-left: -1250px; + top: 587px; + @include transition-speed(1.2s,linear); + } + &.p4{ + margin-left: 1150px; + top: 550px; + @include transition-speed(1.4s,linear); + } + &.p5{ + margin-left: -1260px; + top: 714px; + @include transition-speed(1.6s,linear); + } + &.p6{ + margin-left: 1129px; + top: 750px; + @include transition-speed(1.8s,linear); + } + } + &.end{ + top: 440px; + .puzzle{ + // visibility: hidden; + position: absolute; + left: 50%; + margin-left: -125px; + top: 12px; + &.p1{ + margin-left: -110px; + } + &.p2{ + margin-left: -41px; + } + &.p3{ + margin-left: -110px; + top: 177px; + } + &.p4{ + margin-left: -6px; + top: 140px; + } + &.p5{ + margin-left: -110px; + top: 294px; + } + &.p6{ + margin-left: -43px; + top: 332px; + } + } + } + } +} +.blockchain-video{ + h2{ + font-size: 25px; + font-weight: 700; + color: #131313; + } +} +.carousel-fade { + .carousel-inner { + .item { + transition-property: opacity; + } + + .item, + .active.left, + .active.right { + opacity: 0; + } + + .active, + .next.left, + .prev.right { + opacity: 1; + } + + .next, + .prev, + .active.left, + .active.right { + left: 0; + transform: translate3d(0, 0, 0); + } + } + + .carousel-control { + z-index: 2; + } +} +.blockchain-carousel{ + padding-top: 135px; + h1{ + text-align: center; + font-size: 27px; + color: #131313; + font-weight: 700; + // text-transform: capitalize; + margin: 0 0 60px; + padding: 0 15px; + } + .carousel{ + .item{ + img{ + width: 100%; + } + .carousel-caption{ + position: static; + text-shadow: none; + color: #131313; + min-height: 150px; + padding: 0px 100px; + h2{ + font-size: 22px; + font-weight: 700; + } + p{ + font-size: 15px; + font-weight: 400; + } + } + } + .carousel-control{ + // width: 32%; + background: none; + opacity: 1; + span{ + top: 75px; + &.glyphicon-chevron-left{ + width: 16px; + height: 31px; + background: url('../img/blockchain-today/arrow-left.png') no-repeat center; + &:before{ + content: ''; + } + } + &.glyphicon-chevron-right{ + width: 16px; + height: 31px; + background: url('../img/blockchain-today/arrow-right.png') no-repeat center; + &:before{ + content: ''; + } + } + } + } + } +} +// #maitre-widget-container, #maitre-widget-popup{ +// max-width: 690px !important; +// } +// kyc info page +.kyc-top{ + background: url('../img/prototypes/gray-links.png') no-repeat bottom center; + background-size: 100%; + margin-bottom: 30px; + h1{ + margin: 54px 0 0; + padding: 45px 0; + font-size: 27px; + color: #333; + font-weight: 700; + text-align: center; + } + p{ + font-size: 15px; + color: #333; + font-weight: 400; + span{ + // font-weight: 700; + } + a{ + color: $orange; + } + } + .token-details{ + border: 1px solid #484848; + background: #FFF; + padding: 32px 64px; + .details-row{ + border-bottom: 1px solid #ebebeb; + p{ + margin: 0px; + line-height: 40px; + &.halfHeight{ + line-height: 24px; + } + } + &:last-child{ + border: none; + } + } + + } +} +.kyc-page{ + padding-bottom: 110px; + h4{ + font-size: 19px; + color: #333; + font-weight: 700; + margin-top: 20px; + &:before{ + content: ""; + display: block; + width: 150px; + height: 1px; + background: $orange; + margin-top: 20px; + margin-bottom: 20px; + } + &:first-child:before{ + display: none; + } + &.orange{ + color: $orange; + text-align: center; + font-weight: 500; + &:before{ + display: none; + } + } + + } + ol,ul{ + padding-left: 20px; + &.line-list{ + list-style-type: none; + padding: 0px; + li::before{ + content: "\2014"; + color: $orange; + margin-right: 5px; + } + } + &.disc-list{ + list-style-type: none; + padding: 0px; + & > li::before{ + content: "\25CF"; + color: #000; + margin-right: 5px; + } + } + &.orange-list{ + & > li::before{ + color: $orange; + } + } + &.lower-alpha{ + list-style-type: lower-alpha; + padding-left: 30px; + & > li{ + font-weight: 700; + p{ + font-weight: 400; + margin: 0px; + } + } + } + + &.number-list{ + list-style-type: none; + padding-left: 0px; + & > li{ + font-weight: 400; + margin: 3.5px 0; + span{ + font-weight: 700; + width: 27px; + height: 27px; + margin: 0px; + display: inline-block; + background: #d0d0d0; + color: #333; + margin-right: 8px; + text-align: center; + border-radius: 50%; + } + } + } + &.high-line{ + & > li{ + line-height: 32px; + } + } + } + p,li{ + font-size: 15px; + color: #333; + font-weight: 300; + line-height: 27px; + padding: 0px; + span{ + font-weight: 700; + } + a{ + color: $orange; + text-decoration: underline; + } + } + h3{ + color: #000; + font-size: 19px; + font-weight: 300; + margin-top: 30px; + line-height: 30px; + } +} +// legal pages +.hero.hero-terms{ + background: #000 url(../img/terms.jpg) no-repeat center; + background-size: cover; + .hero-inner{ + height: 36.71428571428571vw !important; + } +}.hero.hero-privacy{ + background: #000 url(../img/privacy.jpg) no-repeat center; + background-size: cover; + .hero-inner{ + height: 36.71428571428571vw !important; + h2{ + font-size: 23px; + font-weight: 700; + margin: 0 0 15px; + } + } +} +.hero-privacy + .legal-page{ + h2{ + margin: 55px 0 25px; + } +} +.legal-page{ + h2{ + font-weight: 700; + font-size: 22px; + color: #1c1e1c; + text-align: center; + margin: 55px 0 45px + } + h3{ + font-weight: 700; + font-size: 17px; + color: #1c1e1c; + margin: 0 0 15px; + } + p,li{ + font-weight: 400; + font-size: 15px; + color: #1c1e1c; + margin: 0 0 20px; + line-height: 25px; + a{ + color: $orange; + } + } + li{ + margin: 0px; + } + .disc-list{ + margin-top: -15px; + } + ul{ + margin: 0 0 15px; + } + ol{ + margin: 0 0 15px; + list-style-type: none; + li{ + margin: 10px 0; + } + li span{ + font-weight: 700; + margin-left: -30px; + display: block; + float: left; + } + } +} +.hero.route-creator{ + background: #000 url(../img/route-creator.jpg) no-repeat center; + background-size: cover; + .hero-inner{ + // min-height: 98.64364981504316vw !important; + // padding-top: 55px; + h1{ + font-size: 40px; + font-weight: 700; + color: $orange; + line-height: 50px; + padding-top: 30px; + } + h2{ + font-size: 25px; + font-weight: 400; + margin: 0 0 45px; + span{ + font-weight: 700; + } + } + p{ + padding-left: 24%; + font-size: 14px; + font-weight: 400; + line-height: 27px; + margin: 0px; + a{ + color: $orange; + font-size: 19px; + } + img{ + height: 20px; + margin-right: 5px; + } + } + .waypoint-plus p{ + padding-left: 0; + a:focus, + a:active{ + text-decoration: none; + } + } + .row{ + margin-top: 30px; + margin-bottom: 30px; + } + input[type=text]{ + line-height: 27px; + height: 27px; + background: none; + border: none; + color: #FFF; + display: block; + width: 100%; + border-bottom: 1px solid #FFF; + font-size: 12px; + &::-webkit-input-placeholder { + color: #FFF; + } + + &:-moz-placeholder { + color: #FFF; + } + + &::-moz-placeholder { + color: #FFF; + } + + &:-ms-input-placeholder { + color: #FFF; + } + } + .waypoint{ + p:before{ + content: "\25CF"; + color: $orange; + margin-right: 5px; + } + input[type=text]{ + color: $orange; + } + } + input[type=submit]{ + display: block; + background-color: $orange; + color: #FFF; + border: none; + width: 100%; + height: 58px; + font-size: 19px; + border-radius: 6px; + letter-spacing: 1px; + margin: 60px 0 0; + font-weight: 700; + } + } +} +// media queries +@media (max-width: 1400px) { + .nav>li>a{ + padding: 10px 7px; + } + .navbar-brand{ + padding: 10px; + } + .media-gallery .arrow-left.slick-arrow{ + width: 40px; + left: -40px; + } + .media-gallery .arrow-right.slick-arrow{ + width: 40px; + right: -40px; + } + .team .team-small a{ + min-height: 207px; + } + #iphonex{ + height: 640px; + } + #drone{ + width: 400px; + } + .dav-cli #laptop{ + width: 100%; + } + .navbar.user-scroll .navbar-nav .dropdown-menu::before{ + height: 12px; + } + .people-are-talking p{ + min-height: 190px; + } + .drone-flight-planning img{ + width: 60%; + } +} +@media (max-width: 1200px) { + .drone-flight-planning{ + height: auto; + padding: 100px 0; + background-size: cover; + img{ + width: 80%; + } + video{ + display: none; + } + } +} +@media (max-width: 1025px) { + input[type=text], + input[type=email], + input[type=password], + textarea { + -webkit-appearance: none; + } + .navbar-nav>li>a{ + font-size: 12px; + &+ul.dropdown-menu>li>a{ + font-size: 12px; + } + } + .best-brands{ + a{ + img{ + height: 60px; + } + } + } + .fundraising-goals{ + .market-cap{ + width: 100%; + } + } + .as-seen-on{ + img{ + height: 100px; + } + } + .daily-dav p:first-child { + margin-top: 30px; + } + .daily-dav img { + margin-top: 55px; + } + .videoWrapper iframe{ + padding: 0px; + } + .video-home p{ + padding: 0px; + } + .team .team-small a{ + min-height: 280px; + margin: auto; + } + .media-gallery .arrow-left.slick-arrow{ + left: -30px; + } + .media-gallery .arrow-right.slick-arrow{ + right: -30px; + } + .dav-portal img{ + width: 50%; + } + .search-rescue{ + height: auto !important; + padding: 80px 0; + } + .search-rescue img#rover{ + width: 60%; + } + .dav-alliance img { + height: 65px; + } + .contributors ul li a:hover:after{ + display: none; + } + .people-are-talking p{ + min-height: 190px; + } + .peer-to-peer img{ + width: 100%; + } + .open-source{ + height: 47vw; + } + .every-feature{ + height: 67vw; + } + .refer-friends #maitre-widget-container, .refer-friends #maitre-widget-popup { + margin-top: 8%; + } + .blockchain-carousel h1{ + margin: 45px 0 60px; + } + .drone-flight-planning h2{ + margin: 5% 0 20px; + } + .drone-flight-planning img{ + margin-top: -10px; + } + .hero.route-creator .hero-inner p{ + padding-left: 0; + } +} +@media (max-width: 992px) { + .nav > li > a { + padding: 10px 5px; + } + .best-brands a{ + margin: 15px 35px; + // height: 48px; + } + .illustrations img { + height: 100px; + } + .technologies img { + height: 150px; + } + .technology img { + height: auto; + width: 90%; + } + .as-seen-on{ + img{ + height: 80px; + } + } + .development-tools{ + h4{ + margin-top: 40px; + } + img{ + width: 100%; + } + } + .fundraising-goals p{ + font-size: 13px; + } + .team .team-medium a, + .team .team-large h3, + .team .team-large a{ + width: 100%; + } + + .team-modal.job-modal .modal-dialog, + .team-modal .modal-dialog { + width: 100%; + } + .team-modal.job-modal{ + .modal-body{ + padding-left: 15px; + padding-right: 15px; + } + } + .navbar-right { + margin-right: 5px; + img{ + margin-right: 0px; + width: 27px; + } + } + .media-gallery img{ + margin: 0 80px; + } + .media-gallery .arrow-left.slick-arrow{ + width: 36px; + left: 0px; + } + .media-gallery .arrow-right.slick-arrow{ + width: 36px; + right: 0px; + } + .hero.hero-prototypes{ + overflow: hidden; + h1{ + padding: 13% 0 !important; + } + } + .block-explorer h2{ + margin: 24% 0 20px; + } + .mission-control h2#second-title{ + margin-top: 50px; + } + .dav-alliance img { + height: 60px; + } + .contributors ul li{ + width: 9%; + margin: 0.5%; + } + .navbar .navbar-nav .dropdown a { + min-width: 0px; + } + .open-source, + .every-feature { + padding-bottom: 30px; + height: auto; + .puzzle-container { + margin-top: 80px; + margin-bottom: 30px; + } + .phone-puzzle.end { + top: 0px; + } + } + .blockchain-middleman{ + h2{ + font-size: 24px; + } + p{ + padding: 0px; + } + .row > div:after{ + display: none; + } + } + .refer-friends #maitre-widget-container, .refer-friends #maitre-widget-popup { + margin-top: 0px; + } + .people-are-talking{ + h2{ + margin: 0px; + } + p{ + min-height: 100px; + } + .row > div{ + margin-top: 50px; + } + } + + .blockchain-carousel h1{ + margin: 0 0 60px; + } + footer .about-legal .social a{ + min-width: 49%; + } +} +@media (max-width: 767px) { + footer .links{text-align: center;} + .navbar-nav>li>a{ + font-size: 15px; + } + .navbar-toggle .icon-bar{ + background: $orange; + } + .navbar-fixed-top{ + background: #FFF; + li>a{ + color: #333; + } + } + .navbar-fixed-top .navbar-collapse { + max-height: 100%; + } + .navbar-toggle span.icon-bar{ + height: 3px; + // width: 20px; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; + } + .navbar-toggle span.icon-bar:nth-child(2){ + -webkit-transition: none; + -moz-transition: none; + transition: none; + } + + .navbar-toggle:not(.collapsed) span.icon-bar{ + visibility: hidden; + } + .navbar-toggle:not(.collapsed) span.icon-bar:nth-child(3){ + visibility: visible; + width: 20px; + -ms-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + } + .navbar-toggle:not(.collapsed) span.icon-bar:nth-child(4){ + visibility: visible; + width: 20px; + -ms-transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + margin-top: -3px; + } + ul.nav{ + float: left !important; + width: 50%; + padding-left: 15px; + } + .crowd-sale .join-crowd-sale, + .hero .hero-inner .hero-valign .hero-join{ + width: 320px; + } + .hero .hero-inner .hero-valign h1{ + font-size: 25px; + line-height: 30px; + padding-top: 50px; + } + .hero .hero-inner .hero-valign h5{ + margin: 0 0 20px; + font-size: 12px; + } + .join-us-orange a{ + margin: 10px 25px; + } + .best-brands{ + a{ + margin: 0px; + img{ + height: 70px; + margin: 30px 15px; + } + } + } + .illustrations img{ + margin-top: 50px; + } + .technology p{ + width: 90%; + } + .technologies{ + padding-top: 0px; + padding-bottom: 40px; + img{ + margin: 50px 0 0; + } + } + .blockchain-enables ul{ + padding-left: 5px; + } + .as-seen-on{ + h2{ + margin: 0px; + } + div{ + text-align: center !important; + } + } + .fundraising-goals img{ + width: 90%; + height: auto; + } + .partners{ + .row{ + margin: 0px; + } + } + .team-modal .modal-dialog button.close{ + position: relative; + z-index: 1999; + } + .modal-dialog{ + margin: 0px; + } + .team-modal .modal-dialog h2{ + margin: 10px 0; + } + .team-modal .modal-dialog br + img { + width: 60%; + margin: 0px; + } + .daily-dav img { + width: 100px; + margin: 0 auto; + display: block; + } + .daily-dav a img { + display: inline-block; + } + .media-gallery img { + margin: 0 auto; + } + .alert-announcement{ + // bottom: 10px; + margin-bottom: 0px; + padding: 15px; + p{ + font-size: 13px; + line-height: 20px; + } + .close{ + line-height: 20px; + } + } + @-webkit-keyframes balls { + from{-webkit-transform: translateY(0);} + 50%{-webkit-transform: translateY(25px);} + to{-webkit-transform: translateY(0);} + } + + @keyframes balls { + from{transform: translateY(0);} + 50%{transform: translateY(25px);} + to{transform: translateY(0);} + } + .hero.hero-prototypes .text-right{ + text-align: center !important; + } + .hero.hero-prototypes h1{ + font-size: 24px !important; + } + .hero.hero-prototypes #iphonex{ + position: static; + margin-top: 20px; + width: 65%; + height: auto; + margin-bottom: -25px; + } + .hero.hero-prototypes #drone{ + width: 220px; + top: 25%; + left: 25%; + } + .dav-cli{ + padding-top: 40px; + .text-left{ + text-align: center !important; + } + } + .dav-cli #laptop { + margin-top: 20px; + margin-bottom: -50px; + } + .dav-portal img { + margin-top: -50px; + } + .charger-car img{ + height: 50px; + } + .dav-cli #car { + margin-top: 0px; + } + .block-explorer{ + padding-bottom: 50px; + h2 { + margin: 50px 0 20px; + } + img{ + margin: 20px 0; + } + } + .mission-control, .search-rescue{ + padding-top: 50px; + padding-bottom: 50px; + text-align: center !important; + h2{ + margin-top: 0px; + } + } + .mission-control .text-right{ + text-align: center !important; + } + .search-rescue img#rover { + margin-right: 0px; + } + .prototypes-section{ + padding-bottom: 50px; + .container{ + height: auto; + background-position: left 55px top; + } + h2{ + margin-top: 60vw; + } + } + .team .team-large a .row img, + .team .team-medium a .row img, + .team .team-small a .row img{ + width: auto; + margin-top: 12px; + height: 15px; + margin-right: -5px; + } + .team .team-large a .row, + .team .team-medium a .row, + .team .team-small a .row{ + margin: 0px; + div{ + padding: 0px; + } + } + .team .team-small a img, + .team .team-medium a img, + .team .team-large a img{ + width: 100%; + } + .team .team-large .text-center{ + text-align: left !important; + } + .team .team-small h4, + .team .team-medium h4, + .team .team-large h4{ + font-size: 13px; + min-height: 32px; + width: 110%; + // margin: 0px; + } + .team .team-small p, + .team .team-medium p, + .team .team-large h5{ + font-size: 12px; + min-height: 40px; + margin: 0px; + width: 120%; + font-weight: 500; + } + .team .team-large h3{ + font-size: 12px; + line-height: 16px; + margin: 0px; + min-height: 67px; + width: 100%; + } + .team .team-large h3 + img{ + height: 100px; + } + .team .team-large h4, + .team .team-small h4, + .team .team-medium h4{ + margin: 10px 0 0; + line-height: 20px; + } + .team .team-large h5, + .team .team-small p, + .team .team-medium p{ + line-height: 20px; + margin-top: -5px; + margin-top: -12px; + } + .team .team-small a, + .team .team-medium a{ + margin: 20px auto 5px; + } + .team .team-small h4{ + font-size: 13px; + } + .team .team-small a{ + min-height: 230px; + } + .dav-alliance .col-sm-4{ + width: 50%; + } + .contributors ul li{ + width: 18%; + margin: 1%; + } + .alliance-modal.team-modal .modal-dialog { + width: 100%; + } + .team-modal.job-modal .modal-dialog{ + padding-top: 0px !important; + } + .team h2{ + margin: 40px 0 30px; + } + .fundraising-goals .not-from-us{ + left: 0; + margin-left: 0px; + width: 100%; + } + .team .team-large .advisor-logo{ + width: 100%; + } + .team .team-large .advisor-logo img { + width: 115%; + } + .logo-up{ + margin-top: -8px; + } + .hero.hero-privacy, + .hero.hero-terms, + .hero.hero-media, + .hero.hero-careers{ + margin-top: 54px; + .hero-inner .hero-valign h1{ + margin: 0px; + padding: 0px; + } + } + .people-are-talking { + padding-bottom: 0px; + p{ + min-height: 0px; + } + a{ + margin-bottom: 50px; + display: inline-block; + } + } + .team .team-large .hasVideo img.videoIcon{ + left: 10px; + } + .kyc-top .token-details{ + padding: 15px; + .details-row p{ + line-height: normal; + padding: 5px 0px; + } + } + .hero-blockchain{ + margin-top: 54px; + padding: 50px 0; + } + .peer-to-peer{ + padding: 50px 0; + h2{ + margin-top: 0; + } + .text-right{ + text-align: center; + } + } + .every-feature{ + .text-left{ + text-align: center; + } + } + .refer-friends{ + background: #f7f7f7 url('../img/prototypes/gray-links.png') no-repeat center bottom; + background-size: 100% auto; + } + .open-source img{ + width: 100%; + } + .blockchain-carousel .carousel .item .carousel-caption{ + min-height: 200px; + padding: 0px 37px; + p{ + } + } + .blockchain-carousel .carousel .item img { + width: auto; + max-width: 150%; + margin-left: -25%; + } + .team-modal.kyc-modal .modal-body input[type=email]{ + width: 89%; + } + .drone-charge{ + background: none; + text-align: center; + height: auto; + padding: 60px 0; + h2{ + margin: 0 0 20px; + } + img{ + margin-top: 60px; + width: 80%; + } + } + .drone-flight-planning{ + .text-right{ + text-align: center; + } + img{ + margin-top: 60px; + } + } + .hero.route-creator .hero-inner input[type=text]{ + margin: 0 0 20px; + } +} +@media (max-height: 767px) { + #iphonex { + height: 530px; + } +} +@media screen and (-webkit-min-device-pixel-ratio:0) { + select:focus, + textarea:focus, + input:focus { + font-size: 16px; + } +} +@media screen and (-webkit-min-device-pixel-ratio:0) { + select, + textarea, + input { + font-size: 16px; + } +} +body.iosBugFixCaret.modal-open { position: fixed; width: 100%; } +// @media (min-width: 768px) { +// .navbar .navbar-nav { +// display: inline-block; +// float: none; +// vertical-align: top; +// } + +// .navbar .navbar-collapse { +// text-align: center; +// } +// } diff --git a/src/html/route-creator/img/fav/android-icon-144x144.png b/src/html/route-creator/img/fav/android-icon-144x144.png new file mode 100644 index 0000000..69ad597 Binary files /dev/null and b/src/html/route-creator/img/fav/android-icon-144x144.png differ diff --git a/src/html/route-creator/img/fav/android-icon-192x192.png b/src/html/route-creator/img/fav/android-icon-192x192.png new file mode 100644 index 0000000..104ce14 Binary files /dev/null and b/src/html/route-creator/img/fav/android-icon-192x192.png differ diff --git a/src/html/route-creator/img/fav/android-icon-36x36.png b/src/html/route-creator/img/fav/android-icon-36x36.png new file mode 100644 index 0000000..2047561 Binary files /dev/null and b/src/html/route-creator/img/fav/android-icon-36x36.png differ diff --git a/src/html/route-creator/img/fav/android-icon-48x48.png b/src/html/route-creator/img/fav/android-icon-48x48.png new file mode 100644 index 0000000..3ccc7ad Binary files /dev/null and b/src/html/route-creator/img/fav/android-icon-48x48.png differ diff --git a/src/html/route-creator/img/fav/android-icon-72x72.png b/src/html/route-creator/img/fav/android-icon-72x72.png new file mode 100644 index 0000000..3387054 Binary files /dev/null and b/src/html/route-creator/img/fav/android-icon-72x72.png differ diff --git a/src/html/route-creator/img/fav/android-icon-96x96.png b/src/html/route-creator/img/fav/android-icon-96x96.png new file mode 100644 index 0000000..9f9c510 Binary files /dev/null and b/src/html/route-creator/img/fav/android-icon-96x96.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-114x114.png b/src/html/route-creator/img/fav/apple-icon-114x114.png new file mode 100644 index 0000000..fe63694 Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-114x114.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-120x120.png b/src/html/route-creator/img/fav/apple-icon-120x120.png new file mode 100644 index 0000000..78708c6 Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-120x120.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-144x144.png b/src/html/route-creator/img/fav/apple-icon-144x144.png new file mode 100644 index 0000000..69ad597 Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-144x144.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-152x152.png b/src/html/route-creator/img/fav/apple-icon-152x152.png new file mode 100644 index 0000000..635cb3b Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-152x152.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-180x180.png b/src/html/route-creator/img/fav/apple-icon-180x180.png new file mode 100644 index 0000000..16a5398 Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-180x180.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-57x57.png b/src/html/route-creator/img/fav/apple-icon-57x57.png new file mode 100644 index 0000000..f8f33cc Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-57x57.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-60x60.png b/src/html/route-creator/img/fav/apple-icon-60x60.png new file mode 100644 index 0000000..87ae79e Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-60x60.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-72x72.png b/src/html/route-creator/img/fav/apple-icon-72x72.png new file mode 100644 index 0000000..3387054 Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-72x72.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-76x76.png b/src/html/route-creator/img/fav/apple-icon-76x76.png new file mode 100644 index 0000000..a13476c Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-76x76.png differ diff --git a/src/html/route-creator/img/fav/apple-icon-precomposed.png b/src/html/route-creator/img/fav/apple-icon-precomposed.png new file mode 100644 index 0000000..dd1bc76 Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon-precomposed.png differ diff --git a/src/html/route-creator/img/fav/apple-icon.png b/src/html/route-creator/img/fav/apple-icon.png new file mode 100644 index 0000000..dd1bc76 Binary files /dev/null and b/src/html/route-creator/img/fav/apple-icon.png differ diff --git a/src/html/route-creator/img/fav/browserconfig.xml b/src/html/route-creator/img/fav/browserconfig.xml new file mode 100644 index 0000000..c554148 --- /dev/null +++ b/src/html/route-creator/img/fav/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/src/html/route-creator/img/fav/favicon-16x16.png b/src/html/route-creator/img/fav/favicon-16x16.png new file mode 100644 index 0000000..151ac94 Binary files /dev/null and b/src/html/route-creator/img/fav/favicon-16x16.png differ diff --git a/src/html/route-creator/img/fav/favicon-32x32.png b/src/html/route-creator/img/fav/favicon-32x32.png new file mode 100644 index 0000000..2178f71 Binary files /dev/null and b/src/html/route-creator/img/fav/favicon-32x32.png differ diff --git a/src/html/route-creator/img/fav/favicon-96x96.png b/src/html/route-creator/img/fav/favicon-96x96.png new file mode 100644 index 0000000..9f9c510 Binary files /dev/null and b/src/html/route-creator/img/fav/favicon-96x96.png differ diff --git a/src/html/route-creator/img/fav/favicon.ico b/src/html/route-creator/img/fav/favicon.ico new file mode 100644 index 0000000..58cee67 Binary files /dev/null and b/src/html/route-creator/img/fav/favicon.ico differ diff --git a/src/html/route-creator/img/fav/favicon.png b/src/html/route-creator/img/fav/favicon.png new file mode 100644 index 0000000..75a15fe Binary files /dev/null and b/src/html/route-creator/img/fav/favicon.png differ diff --git a/src/html/route-creator/img/fav/manifest.json b/src/html/route-creator/img/fav/manifest.json new file mode 100644 index 0000000..013d4a6 --- /dev/null +++ b/src/html/route-creator/img/fav/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "App", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/src/html/route-creator/img/fav/ms-icon-144x144.png b/src/html/route-creator/img/fav/ms-icon-144x144.png new file mode 100644 index 0000000..69ad597 Binary files /dev/null and b/src/html/route-creator/img/fav/ms-icon-144x144.png differ diff --git a/src/html/route-creator/img/fav/ms-icon-150x150.png b/src/html/route-creator/img/fav/ms-icon-150x150.png new file mode 100644 index 0000000..d43a267 Binary files /dev/null and b/src/html/route-creator/img/fav/ms-icon-150x150.png differ diff --git a/src/html/route-creator/img/fav/ms-icon-310x310.png b/src/html/route-creator/img/fav/ms-icon-310x310.png new file mode 100644 index 0000000..9b7c067 Binary files /dev/null and b/src/html/route-creator/img/fav/ms-icon-310x310.png differ diff --git a/src/html/route-creator/img/fav/ms-icon-70x70.png b/src/html/route-creator/img/fav/ms-icon-70x70.png new file mode 100644 index 0000000..dc28623 Binary files /dev/null and b/src/html/route-creator/img/fav/ms-icon-70x70.png differ diff --git a/src/html/route-creator/img/gps.png b/src/html/route-creator/img/gps.png new file mode 100644 index 0000000..8cfd826 Binary files /dev/null and b/src/html/route-creator/img/gps.png differ diff --git a/src/html/route-creator/img/icons/facebook-footer.png b/src/html/route-creator/img/icons/facebook-footer.png new file mode 100644 index 0000000..65bde60 Binary files /dev/null and b/src/html/route-creator/img/icons/facebook-footer.png differ diff --git a/src/html/route-creator/img/icons/facebook.png b/src/html/route-creator/img/icons/facebook.png new file mode 100644 index 0000000..b0c5c28 Binary files /dev/null and b/src/html/route-creator/img/icons/facebook.png differ diff --git a/src/html/route-creator/img/icons/github-footer.1.png b/src/html/route-creator/img/icons/github-footer.1.png new file mode 100644 index 0000000..f2980ce Binary files /dev/null and b/src/html/route-creator/img/icons/github-footer.1.png differ diff --git a/src/html/route-creator/img/icons/github-footer.png b/src/html/route-creator/img/icons/github-footer.png new file mode 100644 index 0000000..f2980ce Binary files /dev/null and b/src/html/route-creator/img/icons/github-footer.png differ diff --git a/src/html/route-creator/img/icons/github-large.png b/src/html/route-creator/img/icons/github-large.png new file mode 100644 index 0000000..c00a169 Binary files /dev/null and b/src/html/route-creator/img/icons/github-large.png differ diff --git a/src/html/route-creator/img/icons/github.png b/src/html/route-creator/img/icons/github.png new file mode 100755 index 0000000..35e6c07 Binary files /dev/null and b/src/html/route-creator/img/icons/github.png differ diff --git a/src/html/route-creator/img/icons/linkedin-footer.png b/src/html/route-creator/img/icons/linkedin-footer.png new file mode 100644 index 0000000..06b7d31 Binary files /dev/null and b/src/html/route-creator/img/icons/linkedin-footer.png differ diff --git a/src/html/route-creator/img/icons/linkedin.png b/src/html/route-creator/img/icons/linkedin.png new file mode 100644 index 0000000..206a6d7 Binary files /dev/null and b/src/html/route-creator/img/icons/linkedin.png differ diff --git a/src/html/route-creator/img/icons/medium.png b/src/html/route-creator/img/icons/medium.png new file mode 100644 index 0000000..74f881b Binary files /dev/null and b/src/html/route-creator/img/icons/medium.png differ diff --git a/src/html/route-creator/img/icons/reddit-footer.png b/src/html/route-creator/img/icons/reddit-footer.png new file mode 100644 index 0000000..b44094a Binary files /dev/null and b/src/html/route-creator/img/icons/reddit-footer.png differ diff --git a/src/html/route-creator/img/icons/reddit.png b/src/html/route-creator/img/icons/reddit.png new file mode 100644 index 0000000..0d6e86a Binary files /dev/null and b/src/html/route-creator/img/icons/reddit.png differ diff --git a/src/html/route-creator/img/icons/telegram-30.png b/src/html/route-creator/img/icons/telegram-30.png new file mode 100644 index 0000000..4a602b6 Binary files /dev/null and b/src/html/route-creator/img/icons/telegram-30.png differ diff --git a/src/html/route-creator/img/icons/telegram-footer.png b/src/html/route-creator/img/icons/telegram-footer.png new file mode 100644 index 0000000..85a3f70 Binary files /dev/null and b/src/html/route-creator/img/icons/telegram-footer.png differ diff --git a/src/html/route-creator/img/icons/telegram.png b/src/html/route-creator/img/icons/telegram.png new file mode 100644 index 0000000..fa7f19f Binary files /dev/null and b/src/html/route-creator/img/icons/telegram.png differ diff --git a/src/html/route-creator/img/icons/twitter-footer.png b/src/html/route-creator/img/icons/twitter-footer.png new file mode 100644 index 0000000..5575fd4 Binary files /dev/null and b/src/html/route-creator/img/icons/twitter-footer.png differ diff --git a/src/html/route-creator/img/icons/twitter.png b/src/html/route-creator/img/icons/twitter.png new file mode 100644 index 0000000..6aa7420 Binary files /dev/null and b/src/html/route-creator/img/icons/twitter.png differ diff --git a/src/html/route-creator/img/icons/whitepaper.png b/src/html/route-creator/img/icons/whitepaper.png new file mode 100644 index 0000000..e0fcb41 Binary files /dev/null and b/src/html/route-creator/img/icons/whitepaper.png differ diff --git a/src/html/route-creator/img/icons/youtube-footer.png b/src/html/route-creator/img/icons/youtube-footer.png new file mode 100644 index 0000000..e099113 Binary files /dev/null and b/src/html/route-creator/img/icons/youtube-footer.png differ diff --git a/src/html/route-creator/img/icons/youtube.png b/src/html/route-creator/img/icons/youtube.png new file mode 100644 index 0000000..0313075 Binary files /dev/null and b/src/html/route-creator/img/icons/youtube.png differ diff --git a/src/html/route-creator/img/route-creator.jpg b/src/html/route-creator/img/route-creator.jpg new file mode 100644 index 0000000..67e2533 Binary files /dev/null and b/src/html/route-creator/img/route-creator.jpg differ diff --git a/src/html/route-creator/index.html b/src/html/route-creator/index.html new file mode 100644 index 0000000..3ee1325 --- /dev/null +++ b/src/html/route-creator/index.html @@ -0,0 +1,316 @@ + + + + + + + DAV - Decentralized Autonomous Vehicles + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+

Route Creator

+

Create a new route for:

+
+
+
+
+

START:

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+

END:

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ + + +
+
+
+
+ + + + + + + + + + + + + + diff --git a/src/html/route-creator/js/main.js b/src/html/route-creator/js/main.js new file mode 100644 index 0000000..f648758 --- /dev/null +++ b/src/html/route-creator/js/main.js @@ -0,0 +1,474 @@ +$(document).ready(function(){ + // color switch for nav + var scroll_start = 0; + var startchange = $('#startchange'); + var offset = startchange.offset(); + if (startchange.length){ + $(document).scroll(function() { + + scroll_start = $(this).scrollTop(); + if(scroll_start > offset.top) { + $(".navbar-fixed-top").addClass('user-scroll'); + } else { + $(".navbar-fixed-top").removeClass('user-scroll'); + } + }); + } + + $("#transaction_id").val(getParameterByName("transaction_id")); + + // iOS cursor fix + // Detect ios 11_x_x affected + // NEED TO BE UPDATED if new versions are affected + var ua = navigator.userAgent, + iOS = /iPad|iPhone|iPod/.test(ua), + iOS11 = /OS 11_0|OS 11_1|OS 11_2/.test(ua); + + // ios 11 bug caret position + if ( iOS && iOS11 ) { + + // Add CSS class to body + $("body").addClass("iosBugFixCaret"); + + } + + // open dropdown on hover + $('ul.nav li.dropdown').hover(function() { + $(this).addClass("open"); + }, function() { + $(this).removeClass("open"); + }); + + //Fundraising remove blur + $('.not-from-us a').on('click',function (e) { + e.preventDefault(); + $(".blur-funds").removeClass("add-blur"); + $(".not-from-us").addClass("hide"); + }); + // full height hero + var windowHeight = $(window).height(); + $('.hero .hero-inner').height(windowHeight); + // $('.hero .hero-inner').height(windowHeight + windowHeight*0.18); + + $(window).on('resize',function() { + var windowHeight = $(window).height(); + $('.hero .hero-inner').height(windowHeight); + }); + + // modal vertical align + $('.team-modal').on('shown.bs.modal', function (e) { + // alert("Modal for " + $(this).attr('id') + " is open.") + var windowHeight = $(window).height(); + var modalHeight = $(this).find('.modal-content').height(); + var modalTopPadding = (windowHeight - modalHeight)/2 - 30; + // var modalTopPadding = (windowHeight + windowHeight*0.18 - modalHeight)/2 - 30; + $('.modal-dialog').css('padding-top', modalTopPadding +'px'); + }); + + //thank you modal + var url = window.location.href; + if(url.indexOf('?thank=you') != -1) { + $('#modalThankYou').modal('show'); + } + $('#modalThankYou,#modalThankYouKYC,#modalKYCStatus').on('hidden.bs.modal', function (e) { + document.location.href="/"; + }); + if(url.indexOf('?kyc=thankyou') != -1) { + $('#modalThankYouKYC').modal('show'); + } + if(url.indexOf('?kyc=status') != -1) { + $('#modalKYCStatus').modal('show'); + } + + var target = window.location.hash; + if(target == "#tokensale"){ + $('.fundraising-goals').addClass("offsetMe"); + } + + // scroll nav + $(".nav").find("a.scroll-link").click(function(e) { + e.preventDefault(); + $('.navbar-collapse').removeClass('in'); + $('.navbar-toggle').addClass('collapsed'); + var offset = $('.navbar').height(); + // offset = offset + offset*0.15; + var section = $(this).attr("href"); + $("html, body").animate({ + scrollTop: $(section).offset().top - offset + }, 700); + }); + + $("a[href=#dav-team]").click(function(e) { + e.preventDefault(); + var offset = $('.navbar').height(); + // offset = offset + offset*0.15; + var section = "#team"; + $("html, body").animate({ + scrollTop: $(section).offset().top - offset + }, 700); + }); + + //daily video + var channelID = 'UCPuAOygDwCiLOdLosiQJJ1w'; + $.get( + "https://www.googleapis.com/youtube/v3/channels",{ + part: 'contentDetails', + id: channelID, + key: 'AIzaSyDFsWKhs1WKWskhk6DErKtNCy-TR57EPbM' + },function(data){ + $.each(data.items,function(i, item){ + // console.log(item); + pid = item.contentDetails.relatedPlaylists.uploads; + pid = "PLpqJF_iMOExdrA0eJjhIk1Ies4jqAXawD"; + // pid = "PLpqJF_iMOExd-la7-aIFbcOd1WN4RwzWU"; + getVids(pid); + }); + } + ); + + function getVids(pid){ + $.get( + "https://www.googleapis.com/youtube/v3/playlistItems",{ + part: 'snippet', + maxResults: 1, + playlistId: pid, + key: 'AIzaSyDFsWKhs1WKWskhk6DErKtNCy-TR57EPbM' + },function(data){ + var output; + $.each(data.items,function(i, item){ + // console.log(item); + // videoTitle = item.snippet.title; + videoId = item.snippet.resourceId.videoId; + // thumbnail = item.snippet.thumbnails.medium.url; + // channelTitle = item.snippet.channelTitle; + // output = ''; + output = ''; + //Append videos to carousel + $('#daily-video').append(output); + }) + } + ); + } + + + $("#contactForm").validate({ + // ignore: ":hidden", + rules: { + Name: { + required: true, + minlength: 3 + }, + Company: { + required: true, + minlength: 3 + }, + Email: { + required: true, + email: true + }//, + // message: { + // required: true, + // minlength: 10 + // } + }, + messages: { + Name: "Please specify your name", + Company: "Please specify your company", + Email: { + required: "Invalid email", + email: "Invalid email" + } + }, + submitHandler: function (form) { + $.ajax({ + type: "POST", + url: "https://formspree.io/alick@dav.network", + data: $(form).serialize(), + dataType: "json", + success: function () { + // $(form).html("
"); + // $('#messageBox') + // .fadeIn(1500, function () { + // $('#messageBox').append("

Your message was sent!

"); + // }); + $("#modalMessage").modal('hide'); + $(form)[0].reset(); + $("#modalThankYouAlliance").modal('show'); + } + }); + return false; // required to block normal submit since you used ajax + } + }); + + // show more media press + $("a.show-more").click(function(e) { + e.preventDefault(); + $(".hidden-press").fadeToggle(); + var word = $(this).find("span"); + if( word.text() == 'more'){ + word.text("less"); + }else{ + word.text("more"); + } + }); + + $("a.show-articles").click(function(e) { + e.preventDefault(); + $(".hidden-articles").fadeToggle(); + var word = $(this).find("span"); + if( word.text() == 'more'){ + word.text("less"); + }else{ + word.text("more"); + } + }); + + // alert announcement + + $('#alert-announcement').on('closed.bs.alert', function () { + setCookie('alert-dav-missioncontrol', true, 365); + return false; + }) + + function getCookie(c_name) { + var c_value = document.cookie; + var c_start = c_value.indexOf(" " + c_name + "="); + if (c_start == -1) { + c_start = c_value.indexOf(c_name + "="); + } + if (c_start == -1) { + c_value = null; + } else { + c_start = c_value.indexOf("=", c_start) + 1; + var c_end = c_value.indexOf(";", c_start); + if (c_end == -1) { + c_end = c_value.length; + } + c_value = unescape(c_value.substring(c_start, c_end)); + } + return c_value; + } + + function setCookie(c_name, value, exdays) { + var exdate = new Date(); + exdate.setDate(exdate.getDate() + exdays); + var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()); + document.cookie = c_name + "=" + c_value; + } + + if (getCookie('alert-dav-missioncontrol') === "true") { + $('#alert-announcement').hide(); + } + + //KYC status check + function validateEmail(email) { + var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return re.test(email); + } + $('#checkKYC').on('click',function (e) { + e.preventDefault(); + var email = $("#kycmail").val(); + if(validateEmail(email)){ + email=encodeURIComponent(email); + var url = "https://nessie.dav.network/status?email=" + email; + // alert("KYC check click " + email); + $(".kyc-loader").removeClass('hide'); + $(".kyc-error").hide(); + $.ajax({ + type: 'GET', + url: url, + dataType: 'json', + success: function (data) { + $(".kyc-loader").addClass('hide'); + $("#kyc-form").hide(); + // $(".kyc-response").text(data.suggestionText); + switch(data.statusText) { + case "AutoFinish": + case "ManualFinish": + $(".kyc-title").text("Congratulations!"); + $(".kyc-response").text("You’re now officially whitelisted! We’ll share specific instructions on how to participate as we get closer to our token sale."); + $(".kyc-close,.kyc-telegram").removeClass('hide'); + break; + case "Failed": + case "CheckRequired": + $(".kyc-title").text("Your KYC application is currently being processed."); + $(".kyc-response").text("You’ll receive an email once your application has been processed with next steps."); + $(".kyc-close,.kyc-telegram3").removeClass('hide'); + break; + case "Rejected": + $(".kyc-title").text("Your KYC application has not been accepted."); + $(".kyc-response").html("If you believe your KYC has been rejected by mistake we ask that you please resubmit your KYC by clicking the button below. Our systems tell us you should be able to successfully complete your KYC by doing the following:

" + data.suggestionText + ""); + $(".kyc-button,.kyc-medium,.kyc-telegram2").removeClass('hide'); + $(".kyc-button").attr("href","https://nessie.dav.network/join?email="+email); + break; + case "Expired": + $(".kyc-title").text("Your KYC application has expired."); + $(".kyc-response").text("We ask you to please resubmit your KYC by clicking the button below."); + $(".kyc-close,.kyc-medium,.kyc-telegram2").removeClass('hide'); + break; + case "Started": + $(".kyc-title").text("Your KYC application failed to process."); + $(".kyc-response").text("Our systems tell us the email address you used is not valid. We ask that you please resubmit your KYC by clicking the button below and providing a valid email address."); + $(".kyc-button,.kyc-medium,.kyc-telegram2").removeClass('hide'); + $(".kyc-button").attr("href","https://nessie.dav.network/join?email="+email); + break; + default: + break; + } + } + }); + }else{ + $(".kyc-error").show(); + $(".kyc-error").animateCss("shake"); + $(".kyc-error").text("Please enter your email address."); + } + + }); + //countdown + // $('#countdown').countdown( + // {until: $.countdown.UTCDate(-8, new Date(2018, 3, 30)), format: 'dHM'} + // ); + +}); +//pause youtube video +$(function(){ + $("body").on('hidden.bs.modal', function (e) { + var $iframes = $(e.target).find("iframe"); + $iframes.each(function(index, iframe){ + $(iframe).attr("src", $(iframe).attr("src")); + }); + }); +}); + +//dav cli clip + var vidShowAndTell = document.querySelector('video'); + // Start playing the video as soon as the user scrolls + var scrollAction = function() { + window.removeEventListener('scroll', scrollAction); + vidShowAndTell.play(); + }; + //commented out this event listener because it was causing a javascript error on the browser - dmauas + //window.addEventListener('scroll', scrollAction); + + var announcementTrigger = document.querySelector('.video-home'); + var scrollAnouncement = function() { + window.removeEventListener('scroll', scrollAnouncement); + $("#alert-announcement").removeClass('hide'); + }; + window.addEventListener('scroll', scrollAnouncement); + +// mailchimp subscriber count +function addCommas(nStr) +{ + nStr += ''; + x = nStr.split('.'); + x1 = x[0]; + x2 = x.length > 1 ? '.' + x[1] : ''; + var rgx = /(\d+)(\d{3})/; + while (rgx.test(x1)) { + x1 = x1.replace(rgx, '$1' + ',' + '$2'); + } + return x1 + x2; +} +$.ajax({ + type: 'GET', + url: 'https://nessie.dav.network/members', + dataType: 'json', + success: function (data) { + // $(".mailchimp-count").text(addCommas(data.count)); + $('.mailchimp-count').countTo({ + from: 18350, + to: data.count, + speed: 3000, + refreshInterval: 20, + formatter: function (value, options) { + value = value.toFixed(options.decimals); + value = value.replace(/\B(?=(\d{3})+(?!\d))/g, ','); + return value; + } + }); + } +}); +// contributors section +$(function() { + $.getJSON( "contributors.json", function( data ) { + var modalTrigger = []; + var modalContributor = []; + $.each( data, function( key, val ) { + modalTrigger.push( "
  • " ); + }); + $.each( data, function( key, val ) { + var repo = ""; + for (var i = 0; i < val.repos.length; i++) { + if (i != val.repos.length - 1) { + repo += "" + val.repos[i] + "," + }else{ + repo += "" + val.repos[i] + "" + } + + } + if (val.name == null) { + val.name = val.user; + } + if (val.bio == null) { + val.bio = ""; + }else{ + val.bio = "“" + val.bio + "”"; + } + modalContributor.push( "" ); + }); + + $( "
      ", { + "class": "contributors-list", + html: modalTrigger.join( "" ) + }).appendTo( ".contributors" ); + + $( "
      ", {"class": "contributors-modal", html: modalContributor.join( "" )}).appendTo( "body" ); + // modal vertical align + $('.team-modal').on('shown.bs.modal', function (e) { + // alert("Modal for " + $(this).attr('id') + " is open.") + var windowHeight = $(window).height(); + var modalHeight = $(this).find('.modal-content').height(); + var modalTopPadding = (windowHeight - modalHeight)/2 - 30; + // var modalTopPadding = (windowHeight + windowHeight*0.18 - modalHeight)/2 - 30; + $('.modal-dialog').css('padding-top', modalTopPadding +'px'); + }); + }); +}); + +$.fn.extend({ + animateCss: function(animationName, callback) { + var animationEnd = (function(el) { + var animations = { + animation: 'animationend', + OAnimation: 'oAnimationEnd', + MozAnimation: 'mozAnimationEnd', + WebkitAnimation: 'webkitAnimationEnd', + }; + + for (var t in animations) { + if (el.style[t] !== undefined) { + return animations[t]; + } + } + })(document.createElement('div')); + + this.addClass('animated ' + animationName).one(animationEnd, function() { + $(this).removeClass('animated ' + animationName); + + if (typeof callback === 'function') callback(); + }); + + return this; + }, +}); + +function getParameterByName(name, url) { + if (!url) url = window.location.href; + name = name.replace(/[\[\]]/g, "\\$&"); + var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, " ")); +} diff --git a/src/images/and-connector.svg b/src/images/and-connector.svg index db4677d..602ad21 100644 --- a/src/images/and-connector.svg +++ b/src/images/and-connector.svg @@ -1,26 +1,22 @@ - - Group 11 + + and Created with Sketch. - + - - - - - - - - - - - AND - - + + + + + + + + AND + diff --git a/src/images/arrow-left.svg b/src/images/arrow-left.svg index d611f98..e7623a4 100644 --- a/src/images/arrow-left.svg +++ b/src/images/arrow-left.svg @@ -1,12 +1,12 @@ - + arrow-left Created with Sketch. - - + + diff --git a/src/images/charging_drone_waiting.png b/src/images/charging_drone_waiting.png new file mode 100644 index 0000000..e8ae2ca Binary files /dev/null and b/src/images/charging_drone_waiting.png differ diff --git a/src/images/charging_icon.png b/src/images/charging_icon.png new file mode 100644 index 0000000..b9561e5 Binary files /dev/null and b/src/images/charging_icon.png differ diff --git a/src/images/check.svg b/src/images/check.svg index 312a8da..38baa1d 100644 --- a/src/images/check.svg +++ b/src/images/check.svg @@ -1,12 +1,12 @@ - - chek + + check Created with Sketch. - - + + \ No newline at end of file diff --git a/src/images/dav.svg b/src/images/dav.svg index 9604721..2ed940c 100644 --- a/src/images/dav.svg +++ b/src/images/dav.svg @@ -1,48 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + Page 1 + Created with Sketch. + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/images/gps-point.svg b/src/images/gps-point.svg new file mode 100644 index 0000000..f2995b4 --- /dev/null +++ b/src/images/gps-point.svg @@ -0,0 +1,12 @@ + + + + gps_point + Created with Sketch. + + + + + + + diff --git a/src/images/gps_point.svg b/src/images/gps_point.svg deleted file mode 100644 index 8c69e8e..0000000 --- a/src/images/gps_point.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - gps_point - Created with Sketch. - - - - - \ No newline at end of file diff --git a/src/images/icon_charging_station.png b/src/images/icon_charging_station.png new file mode 100644 index 0000000..0a346c6 Binary files /dev/null and b/src/images/icon_charging_station.png differ diff --git a/src/images/icon_drone.png b/src/images/icon_drone.png index 4948d8e..5d645ed 100644 Binary files a/src/images/icon_drone.png and b/src/images/icon_drone.png differ diff --git a/src/images/icon_location.png b/src/images/icon_location.png new file mode 100644 index 0000000..77ea22e Binary files /dev/null and b/src/images/icon_location.png differ diff --git a/src/images/icon_signed_out.svg b/src/images/icon_signed_out.svg new file mode 100644 index 0000000..144c0ca --- /dev/null +++ b/src/images/icon_signed_out.svg @@ -0,0 +1,15 @@ + + + + user + Created with Sketch. + + + + + + + + + + \ No newline at end of file diff --git a/src/images/logo_missions.png b/src/images/logo_missions.png deleted file mode 100644 index 6ea047b..0000000 Binary files a/src/images/logo_missions.png and /dev/null differ diff --git a/src/images/logo_missions.svg b/src/images/logo_missions.svg new file mode 100644 index 0000000..ae14424 --- /dev/null +++ b/src/images/logo_missions.svg @@ -0,0 +1,39 @@ + + + + Missions Logo + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/src/images/logo_mooving.svg b/src/images/logo_mooving.svg new file mode 100644 index 0000000..87d2ceb --- /dev/null +++ b/src/images/logo_mooving.svg @@ -0,0 +1,24 @@ + + + + logo_Mooving + Created with Sketch. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/images/pin-dropoff.svg b/src/images/pin-dropoff.svg index b0b0ab0..1ca47db 100644 --- a/src/images/pin-dropoff.svg +++ b/src/images/pin-dropoff.svg @@ -1,24 +1,19 @@ - - - - Group 11 - Created with Sketch. - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + +Group 7 +Created with Sketch. + + + + + + + + + + diff --git a/src/images/pin-pickup.svg b/src/images/pin-pickup.svg index 6316002..ea0111e 100644 --- a/src/images/pin-pickup.svg +++ b/src/images/pin-pickup.svg @@ -1,24 +1,19 @@ - - - - Group 9 - Created with Sketch. - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + +Group 4 +Created with Sketch. + + + + + + + + + + diff --git a/src/images/radar.png b/src/images/radar.png index 87cc948..833cf33 100644 Binary files a/src/images/radar.png and b/src/images/radar.png differ diff --git a/src/images/route_plan.png b/src/images/route_plan.png new file mode 100644 index 0000000..1d178a4 Binary files /dev/null and b/src/images/route_plan.png differ diff --git a/src/images/signing.gif b/src/images/signing.gif index a0c8210..74eb9de 100644 Binary files a/src/images/signing.gif and b/src/images/signing.gif differ diff --git a/src/images/size_box.svg b/src/images/size-box.svg similarity index 77% rename from src/images/size_box.svg rename to src/images/size-box.svg index 1093f1a..fed5e18 100644 --- a/src/images/size_box.svg +++ b/src/images/size-box.svg @@ -1,6 +1,6 @@ - + box Created with Sketch. @@ -9,12 +9,12 @@ - + - + - + diff --git a/src/images/size_can.svg b/src/images/size-can.svg similarity index 77% rename from src/images/size_can.svg rename to src/images/size-can.svg index abbd6b1..ea32f36 100644 --- a/src/images/size_can.svg +++ b/src/images/size-can.svg @@ -1,16 +1,16 @@ - + soda Created with Sketch. - - + + - - + + diff --git a/src/images/size_letter.svg b/src/images/size-letter.svg similarity index 76% rename from src/images/size_letter.svg rename to src/images/size-letter.svg index b600d42..4ac23d4 100644 --- a/src/images/size_letter.svg +++ b/src/images/size-letter.svg @@ -1,17 +1,17 @@ - + mail Created with Sketch. - - + + - + - - + + diff --git a/src/images/size-pizza.svg b/src/images/size-pizza.svg new file mode 100644 index 0000000..9b355b9 --- /dev/null +++ b/src/images/size-pizza.svg @@ -0,0 +1,23 @@ + + + + pizza + Created with Sketch. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/images/size_pizza.svg b/src/images/size_pizza.svg deleted file mode 100644 index f1b899e..0000000 --- a/src/images/size_pizza.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - pizza - Created with Sketch. - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/images/sort-button.svg b/src/images/sort-button.svg new file mode 100644 index 0000000..78f9e8d --- /dev/null +++ b/src/images/sort-button.svg @@ -0,0 +1,25 @@ + + + + filtr + Created with Sketch. + + + + + + + + + + + + + + + + + + + + diff --git a/src/images/sort_button.svg b/src/images/sort_button.svg deleted file mode 100644 index a347166..0000000 --- a/src/images/sort_button.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - sort-icon - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/images/time.svg b/src/images/time.svg index a90f783..9f24e0f 100644 --- a/src/images/time.svg +++ b/src/images/time.svg @@ -1,13 +1,15 @@ - + time Created with Sketch. - - - - + + + + + + \ No newline at end of file diff --git a/src/images/x-button.svg b/src/images/x-button.svg new file mode 100644 index 0000000..ee39f41 --- /dev/null +++ b/src/images/x-button.svg @@ -0,0 +1,12 @@ + + + + x_button + Created with Sketch. + + + + + + + diff --git a/src/images/x_button.svg b/src/images/x_button.svg deleted file mode 100644 index 4ab522e..0000000 --- a/src/images/x_button.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - Page 1 - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/src/index.html b/src/index.html index 0b2a8ab..2b29daf 100644 --- a/src/index.html +++ b/src/index.html @@ -3,7 +3,7 @@ - Missions by DAV + <%= htmlWebpackPlugin.options.title %> diff --git a/src/lib/api.js b/src/lib/api.js deleted file mode 100644 index e4b142f..0000000 --- a/src/lib/api.js +++ /dev/null @@ -1,73 +0,0 @@ -import store from '../store'; -import { packageSizeOptions } from '../lib/utils'; -import moment from 'moment'; - -const apiRoot = process.env.MISSION_CONTROL_HOST; - -export const fetchStatus = ({ id, lat, long, needId }) => { - const missionId = store.getState().mission.id; - let url = new URL(`/status`, apiRoot); - id && url.searchParams.set('id', id); - lat && url.searchParams.set('lat', lat); // Don't stand on the equator or you'll break this - long && url.searchParams.set('long', long); - needId && url.searchParams.set('needId', needId); - missionId && url.searchParams.set('missionId', missionId); - return fetchWithUserId(url); -}; - -export const fetchBids = ({needId}) => { - let url = new URL(`/bids/${needId}`, apiRoot); - return fetchWithUserId(url); -}; - -export const createNeed = ({ pickup, dropoff, pickup_at, size, weight }) => { - pickup_at = moment(pickup_at, 'HH:mm').format('x'); - let url = new URL(`/needs`, apiRoot); - const sizeOption = packageSizeOptions.find( - sizeOption => sizeOption.id === size, - ); - const body = { - pickup_at: pickup_at, - pickup_latitude: pickup.lat, - pickup_longitude: pickup.long, - pickup_address: pickup.address, - dropoff_latitude: dropoff.lat, - dropoff_longitude: dropoff.long, - cargo_type: sizeOption.cargoType, - weight: parseFloat(weight), - }; - return fetchWithUserId(url, 'POST', body); -}; - -export const chooseBid = bidId => { - let url = new URL(`/bids/${bidId}/choose`, apiRoot); - return fetchWithUserId(url, 'PUT'); -}; - -export const cancelNeed = () => { - const needId = store.getState().order.needId; - let url = new URL(`/needs/${needId}`, apiRoot); - return fetchWithUserId(url, 'DELETE'); -}; - -export const confirmTakeoff = () => { - const missionId = store.getState().mission.mission_id; - const command = 'takeoff_pickup'; - let url = new URL(`/mission_command`, apiRoot); - url.searchParams.set('mission_id', missionId); - url.searchParams.set('command', command); - return fetchWithUserId(url); -}; - -const fetchWithUserId = (url, method = 'GET', body) => { - const userId = store.getState().settings.user_id; - url.searchParams.set('user_id', userId); - const headers = new Headers(); - - headers.append('Accept', 'application/json'); - headers.append('Content-Type', 'application/json'); - - const options = { method, headers }; - if (body) options.body = JSON.stringify(body); - return fetch(url, options).then(response => response.json()); -}; diff --git a/src/lib/app.js b/src/lib/app.js index 4ad1f93..8480a61 100644 --- a/src/lib/app.js +++ b/src/lib/app.js @@ -4,8 +4,9 @@ import { updateBids, updateStatus } from '../actions'; const _updateStatusAndDispatch = () => { const coords = store.getState().map.coords; if (!coords.lat || !coords.long) return; - const { lat, long } = coords; - const needId = store.getState().order.needId; + const order = store.getState().order; + const { lat, long } = order.droneLocation ? order.droneLocation : coords; + const needId = order.needId; store.dispatch(updateStatus({ lat, long, needId })); }; diff --git a/src/lib/dav.js b/src/lib/dav.js new file mode 100644 index 0000000..184af61 --- /dev/null +++ b/src/lib/dav.js @@ -0,0 +1,340 @@ +import store from '../store'; +import timeout from 'callback-timeout'; +import { + updateDavId, + updateContractMissionIdMissionId, + unlockWallet, + unregisteredDavId, + registerDavIdFulfilled, + createMissionTransactionFulfilled, + createMissionTransactionFailed, +} from '../actions'; +const TruffleContract = require('truffle-contract'); +const Web3 = require('web3'); +const apiRoot = process.env.MISSION_CONTROL_URL; +const captainSimRoot = process.env.CAPTAIN_SIM_URL; + +let blockchainType = process.env.BLOCKCHAIN_TYPE || 'INJECTED'; +let web3Provider = null; +// Use injected web3 instance +if (typeof window !== 'undefined' && typeof window.web3 !== 'undefined') { + web3Provider = window.web3.currentProvider; +} else if (blockchainType === 'ETH_LOCAL_TESTNET') { + // If no injected web3 instance is detected, fall back to Ganache + web3Provider = new Web3 + .providers + .HttpProvider('http://localhost:8545'); +} + +let web3 = new Web3(web3Provider); +let davSDK; +const DavContracts = function () { + let contracts = { + identity: { + artifact: TruffleContract(require('../build/contracts/Identity.json')), + instance: null + }, + token: { + artifact: TruffleContract(require('../build/contracts/DAVToken.json')), + instance: null + }, + mission: { + artifact: TruffleContract(require('../build/contracts/BasicMission.json')), + instance: null + } + }; + + this.getInstance = function (contract) { + return new Promise(function (resolve, reject) { + if (contracts[contract].instance) { + resolve(contracts[contract].instance); + } else { + contracts[contract].artifact.setProvider(web3.currentProvider); + contracts[contract].artifact.deployed() + .then(function (instance) { + contracts[contract].instance = instance; + resolve(contracts[contract].instance); + }).catch(function (err) { + reject(err); + }); + } + }); + }; +}; + +let davJS = function (davId, wallet) { + this.davId = davId; + this.wallet = wallet; + this.davContracts = new DavContracts(); + + this.isRegistered = function () { + let dav = this; + return this.davContracts.getInstance('identity') + .then(function (instance) { + return instance.isRegistered.call(dav.davId, { from: dav.wallet }); + }); + }; + + this.registerSimple = function () { + let dav = this; + if (blockchainType === 'NONE') { + return Promise.resolve({}); + } + + return new Promise(function (resolve, reject) { + return dav.davContracts.getInstance('identity') + .then(function (identityContractInstance) { + return identityContractInstance + .registerSimple({ from: dav.wallet }) + .then(function (res) { + console.log(res); + resolve(true); + }) + .catch(function (err) { + reject(err); + }); + + }).catch(function (err) { + reject(err); + }); + }); + }; + + this.createMissionTransaction = function (bidId, vehicleId, missionCost, tockenAmount) { + let dav = this; + if (blockchainType === 'NONE') { + return Promise.resolve(true); + } + + var tokenContractInstance; + var missionContractInstance; + return dav.davContracts.getInstance('token') + .then(function (instance) { + tokenContractInstance = instance; + return dav.davContracts.getInstance('mission') + .then((instance) => { + missionContractInstance = instance; + return tokenContractInstance.approve(missionContractInstance.address, tockenAmount, { from: dav.wallet }); + }) + .then(() => { + return missionContractInstance.create(bidId, vehicleId, dav.davId, tockenAmount, { from: dav.wallet, value: missionCost }); + }); + }); + }; + + this.approveCompletedMission = function (missionId) { + let dav = this; + if (blockchainType === 'NONE') { + return Promise.resolve(true); + } + + return dav.davContracts.getInstance('mission') + .then((instance) => { + return instance.fulfilled(missionId, { from: dav.wallet }); + }); + }; +}; + +export const initWeb3_NO_BLOCKCHAIN = () => { + blockchainType = 'NONE'; + return initWeb3(); +}; + +export const initWeb3 = () => { + if (blockchainType === 'NONE') { + store.dispatch(registerDavIdFulfilled()); + return Promise.resolve('Blockchain is disabled'); + } + return new Promise(function (resolve, reject) { + web3.eth.getAccounts(timeout((error, accounts) => { + if (error) { + console.log(error); + store.dispatch(unlockWallet()); + reject(error); + } else if (accounts.length > 0) { + let davId = accounts[0]; + store.dispatch(updateDavId({ davId })); + resolve(isRegistered(davId)); + } else { + // unlock metamask + store.dispatch(unlockWallet()); + console.log('The wallet locked, please unlock it to continue.'); + reject('The wallet locked, please unlock it to continue.'); + } + reject(); + }, 1500)); + }); +}; + +export const isRegistered = (davId) => { + if (blockchainType === 'NONE') { + store.dispatch(registerDavIdFulfilled()); + return Promise.resolve('Blockchain is disabled'); + } + davSDK = new davJS(davId, davId); + return davSDK.isRegistered().then((isRegistered) => { + if (isRegistered) { + store.dispatch(registerDavIdFulfilled()); + } else { + store.dispatch(unregisteredDavId()); + } + return isRegistered; + }).catch(err => { + console.log(err); + }); +}; + +export const registerDavId = () => { + if (blockchainType === 'NONE') { + store.dispatch(registerDavIdFulfilled()); + return Promise.resolve('Blockchain is disabled'); + } + davSDK.registerSimple().then((isRegistered) => { + if (isRegistered === true) { + store.dispatch(registerDavIdFulfilled()); + } + }).catch(err => { + console.log(err); + }); +}; + +export const createMissionTransaction = (bidId, captain_id, price, tocken_amount) => { + if (blockchainType === 'NONE') { + store.dispatch(updateContractMissionIdMissionId({ bidId })); + return Promise.resolve('Blockchain is disabled'); + } + davSDK.createMissionTransaction(bidId, captain_id, price, tocken_amount).then((response) => { + if(response.logs.length > 0) { + let contractMissionId = response.logs[0].args.id; + store.dispatch(updateContractMissionIdMissionId({ contractMissionId })); + } + store.dispatch(createMissionTransactionFulfilled(response)); + }).catch(err => { + console.log(err); + store.dispatch(createMissionTransactionFailed(err)); + }); +}; + +export const approveCompletedMission = () => { + if (blockchainType === 'NONE') { + store.dispatch(updateMissionStatus('confirmed')); + return Promise.resolve('Blockchain is disabled'); + } + let mission = store.getState().mission; + let contractMissionId = mission.contractMissionId || mission.id; + initWeb3().then(() => { + return davSDK.approveCompletedMission(contractMissionId); + }).then((response) => { + console.log(response.logs[0]); + store.dispatch(updateMissionStatus('confirmed')); + }).catch(err => { + console.log(err); + }); +}; + + +export const chooseBid = (bidId, captain_id, price) => { + let url = new URL(`/bids/${bidId}/choose`, apiRoot); + return fetchWithUserId(url, 'PUT').then(response => { + store.dispatch(createMissionTransaction(bidId, captain_id, price)); + return response; + }); +}; + +export const createNeed = (params) => { + let url = new URL(`/needs`, apiRoot); + params = { + ...params, + // need_type: params.need_type + }; + return fetchWithUserId(url, 'POST', params); +}; + + +export const fetchBids = ({ + needId +}) => { + let url = new URL(`/bids/${needId}`, apiRoot); + return fetchWithUserId(url); +}; + +export const cancelNeed = () => { + const needId = store.getState().order.needId; + let url = new URL(`/needs/${needId}`, apiRoot); + return fetchWithUserId(url, 'DELETE'); +}; + +export const updateMissionStatus = (status, captain_status) => { + const missionId = store.getState().mission.mission_id; + let url = new URL(`/missions/${missionId}`, apiRoot); + let body = {status}; + if(captain_status) { + body = { + vehicle_status: captain_status, + mission_status: status + }; + } + return fetchWithUserId(url, 'PUT', body); +}; + +export const confirmTakeoff = () => { + const missionId = store.getState().mission.mission_id; + const command = 'takeoff_pickup'; + let url = new URL(`/mission_command`, apiRoot); + url.searchParams.set('mission_id', missionId); + url.searchParams.set('command', command); + return fetchWithUserId(url); +}; + +export function fetchSimulationDrones() { + let url = new URL(`/simulation/drones`, captainSimRoot); + + const headers = new Headers(); + headers.append('Accept', 'application/json'); + headers.append('Content-Type', 'application/json'); + + const coords = store.getState().map.coords; + + const options = { + method: 'POST', + headers, + body: JSON.stringify({ + latitude: coords.lat, + longitude: coords.long + }) + }; + return fetch(url, options).then(response => response.json()); +} + + +export const fetchStatus = ({ + id, + lat, + long, + needId +}) => { + const missionId = store.getState().mission.id; + let url = new URL(`/status`, apiRoot); + id && url.searchParams.set('id', id); + lat && url.searchParams.set('lat', lat); // Don't stand on the equator or you'll break this + long && url.searchParams.set('long', long); + needId && url.searchParams.set('needId', needId); + missionId && url.searchParams.set('missionId', missionId); + return fetchWithUserId(url); +}; + +const fetchWithUserId = (url, method = 'GET', body) => { + const userId = store.getState().settings.user_id; + url.searchParams.set('user_id', userId); + const headers = new Headers(); + + headers.append('Accept', 'application/json'); + headers.append('Content-Type', 'application/json'); + + const options = { + method, + headers + }; + if (body) options.body = JSON.stringify(body); + return fetch(url, options).then(response => response.json()); +}; diff --git a/src/lib/map.js b/src/lib/map.js index 2101005..d7d04e8 100644 --- a/src/lib/map.js +++ b/src/lib/map.js @@ -1,12 +1,17 @@ import mapboxgl from 'mapbox-gl'; +import store from '../store'; import 'mapbox-gl/dist/mapbox-gl.css'; -import { makeImage } from './utils'; +import {makeImage} from './utils'; import droneIcon from '../images/icon_drone.png'; +import locationIcon from '../images/icon_location.png'; +import chargingStationIcon from '../images/icon_charging_station.png'; import pickupIcon from '../images/pin-pickup.svg'; import dropoffIcon from '../images/pin-dropoff.svg'; import mapStyle from './map_style.json'; import turf from 'turf'; +const icons = {droneIcon, locationIcon, chargingStationIcon, pickupIcon, dropoffIcon}; + const createGeoJson = (features = []) => { return { type: 'FeatureCollection', @@ -14,7 +19,7 @@ const createGeoJson = (features = []) => { type: 'Feature', geometry: { type: 'Point', - coordinates: [feature.coords.long, feature.coords.lat], + coordinates: [feature.long || feature.coords.long, feature.lat || feature.coords.lat], }, properties: { id: feature.id, @@ -23,11 +28,45 @@ const createGeoJson = (features = []) => { }; }; -const getUserLocation = () => +export const getUserLocation = () => new Promise((resolve, reject) => - navigator.geolocation.getCurrentPosition(resolve, reject), + navigator.geolocation.getCurrentPosition(resolve, reject, { + maximumAge: 60000, + timeout: 50000, + enableHighAccuracy: false + }), ); +export const getUserLocationPlace = () => { + return hasGeolocationPermission() + .then(getUserLocation) + .then((resp) => { + return new Promise((resolve, reject) => { + if (window.google && window.google.maps) { + var geocoder = new window.google.maps.Geocoder(); + geocoder.geocode({ + location: { + lat: resp.coords.latitude, + lng: resp.coords.longitude + } + }, (results, status) => { + if (status === 'OK') { + if (results[0]) { + resolve(results[0].formatted_address); + } else { + reject('Geocoder: No results found'); + } + } else { + reject('Geocoder failed due to: ' + status); + } + }); + } else { + reject('Google map api was not found in the page.'); + } + }); + }); +}; + /** * Returns a promise that resolves only if we can determine that the user has granted geolocation permission * Promise rejects if permission wasn't granted, denied, or Permissions API is not supported @@ -38,19 +77,20 @@ const hasGeolocationPermission = () => new Promise((resolve, reject) => { if (!navigator.permissions) reject(); navigator.permissions - .query({ name: 'geolocation' }) + .query({name: 'geolocation'}) .then(result => (result.state === 'granted' ? resolve() : reject())); }); export const createMap = ({ containerId, coords, - onVehicleClick, + onMapItemClick, onMoveEnd, + addControls, }) => { // Add support for right-to-left languages mapboxgl.setRTLTextPlugin( - 'lib/mapbox-gl-rtl-text.js.min', + '/lib/mapbox-gl-rtl-text.js.min', ); // Create the map @@ -62,29 +102,34 @@ export const createMap = ({ attributionControl: false, }); - // Add controls to geolocate the user - map.addControl( - new mapboxgl.GeolocateControl({ - positionOptions: { - enableHighAccuracy: true, - }, - trackUserLocation: true, - }), - 'bottom-left', - ); - // Add minimal attribution controls - map.addControl( - new mapboxgl.AttributionControl({ - compact: true, - }), - ); + if (addControls) { + // Add controls to geolocate the user + map.addControl( + new mapboxgl.GeolocateControl({ + positionOptions: { + enableHighAccuracy: true, + }, + trackUserLocation: true, + }), + 'bottom-left', + ); + + // Add minimal attribution controls + map.addControl( + new mapboxgl.AttributionControl({ + compact: true, + }), + ); + } // add images, sources, and layers on load map.on('load', () => { - makeImage(droneIcon).then(img => map.addImage('drone', img)); - makeImage(pickupIcon).then(img => map.addImage('pickup', img)); - makeImage(dropoffIcon).then(img => map.addImage('dropoff', img)); + Object.keys(icons).forEach((key) => { + const imgId = key.replace('Icon', ''); + makeImage(icons[key]).then(img => map.addImage(imgId, img)); + }); + map.addSource('vehicles', { type: 'geojson', data: { @@ -103,29 +148,60 @@ export const createMap = ({ 'icon-ignore-placement': true, }, }); - map.on('click', 'vehicles', e => - onVehicleClick(e.features[0].properties.id), - ); + + map.addSource('chargers', { + type: 'geojson', + data: { + type: 'FeatureCollection', + features: [], + }, + }); + + map.addLayer({ + id: 'chargers', + type: 'symbol', + source: 'chargers', + minzoom: 10, + layout: { + 'icon-image': 'charger', + 'icon-allow-overlap': true, + 'icon-ignore-placement': true, + }, + }); + + ['vehicles', 'chargers'].forEach((mapItemType) => { + map.on('click', mapItemType, e => + onMapItemClick({id: e.features[0].properties.id, mapItemType: mapItemType}), + ); + }); }); map.on('moveend', () => { const mapCenter = map.getCenter(); - onMoveEnd({ lat: mapCenter.lat, long: mapCenter.lng }); + onMoveEnd({lat: mapCenter.lat, long: mapCenter.lng}); }); // Check if user has already granted permission to access geolocation // If permission was granted, get user location and center map on them hasGeolocationPermission() .then(getUserLocation) - .then(({ coords }) => map.setCenter([coords.longitude, coords.latitude])) - .catch(() => {}); + .then(({coords}) => { + addUserLocationIcon(map, coords); + if (store.getState().order.stage === 'draft') { + return map.setCenter([coords.longitude, coords.latitude]); + } + }) + .catch(() => { + }); return map; }; -export const updateMap = (map, vehicles = [], { pickup, dropoff } = {}) => { +export const updateMap = (map, mapItems = [], mapItemType, {pickup, dropoff, droneLocation}) => { handleMapUpdate(map, () => { - if (vehicles) map.getSource('vehicles').setData(createGeoJson(vehicles)); + const mapItemTypePlural = `${mapItemType}s`; + if (mapItems) map.getSource(mapItemTypePlural).setData(createGeoJson(mapItems)); + if (droneLocation) map.getSource('vehicles').setData(createGeoJson([droneLocation])); if (pickupAndDropoffPresent(map, pickup, dropoff)) { map.getSource('pickup').setData(turf.point([pickup.long, pickup.lat])); map.getSource('dropoff').setData(turf.point([dropoff.long, dropoff.lat])); @@ -133,6 +209,7 @@ export const updateMap = (map, vehicles = [], { pickup, dropoff } = {}) => { }); }; + const handleMapUpdate = (map, update) => { if (!map.loaded()) { map.on('load', update); @@ -147,19 +224,26 @@ const pickupAndDropoffPresent = (map, pickup, dropoff) => { ); }; -export const initiateZoomTransition = (map, pickup, dropoff,options) => { +export const initiateZoomTransition = (map, terminals, options) => { + let collection; + let features = Object.keys(terminals).map((key) => { + const terminal = terminals[key]; + return turf.point([terminal.long, terminal.lat]); + }); handleMapUpdate(map, () => { - const collection = turf.featureCollection([ - turf.point([pickup.long, pickup.lat]), - turf.point([dropoff.long, dropoff.lat]), - ]); + collection = turf.featureCollection(features); let bbox = turf.bbox(collection); - map.fitBounds(bbox, {...options, padding: {top:100,bottom:300,left:50,right:50} }); + map.fitBounds(bbox, {...options, padding: {top: 100, bottom: 300, left: 50, right: 50}}); }); }; - -export const clearPins = map => { - if (map.getSource('pickup') && map.getSource('dropoff')){ +export const clearRoute = map => { + if (map.getSource('route')) { + map.removeLayer('route'); + map.removeSource('route'); + } +}; +export const clearTerminals = map => { + if (map.getSource('pickup') && map.getSource('dropoff')) { map.removeLayer('pickup'); map.removeLayer('dropoff'); map.removeSource('pickup'); @@ -167,7 +251,65 @@ export const clearPins = map => { } }; -export const addTerminalPinSources = map => { +export const addRoute = (map, arrayOfTerminals) => { + arrayOfTerminals = arrayOfTerminals.map((terminal) => { + return [terminal.long || terminal.coords.long, terminal.lat || terminal.coords.lat]; + }); + + if (!map.getSource('route')) { + map.addLayer({ + 'id': 'route', + 'type': 'line', + 'source': { + 'type': 'geojson', + 'data': { + 'type': 'Feature', + 'properties': {}, + 'geometry': { + 'type': 'LineString', + 'coordinates': arrayOfTerminals + } + } + }, + 'layout': { + 'line-join': 'round', + 'line-cap': 'round' + }, + 'paint': { + 'line-color': '#FF6F4D', + 'line-width': 5 + } + }); + } +}; + +const addUserLocationIcon = (map, coords) => { + if (!map.getSource('location')) { + map.addSource('location', { + type: 'geojson', + data: { + type: 'FeatureCollection', + features: [], + } + }); + } + + map.addLayer({ + id: 'location', + type: 'symbol', + source: 'location', + minzoom: 10, + layout: { + 'icon-image': 'location', + 'icon-allow-overlap': true, + 'icon-ignore-placement': true, + }, + }); + + map.getSource('location').setData(turf.point([coords.longitude, coords.latitude])); +}; + +export const addTerminals = map => { if (!map.getSource('pickup') && !map.getSource('dropoff')) { map.addSource('pickup', { type: 'geojson', @@ -207,3 +349,4 @@ export const addTerminalPinSources = map => { }); } }; + diff --git a/src/lib/utils.js b/src/lib/utils.js index f8c5d4f..d1b7658 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -1,10 +1,10 @@ import randomString from 'randomstring'; // icons -import sizeLetter from '../images/size_letter.svg'; -import sizeCan from '../images/size_can.svg'; -import sizePizza from '../images/size_pizza.svg'; -import sizeBox from '../images/size_box.svg'; +import sizeLetter from '../images/size-letter.svg'; +import sizeCan from '../images/size-can.svg'; +import sizePizza from '../images/size-pizza.svg'; +import sizeBox from '../images/size-box.svg'; export const makeImage = imageData => { return new Promise((resolve, reject) => { @@ -28,15 +28,15 @@ export const getShortCoordsString = ( ) => { const { lat, long } = coords; return ( - lat && long && lat.toFixed(precision) + separator + long.toFixed(precision) + (lat || lat === 0) && + (long || long === 0) && + `${lat.toFixed(precision)}${separator}${long.toFixed(precision)}` ); }; -export const coordsFromString = strCoords => { - const [lat, long] = strCoords.replace(/[^\d.,-]/gi, '').split(','); - return lat && long - ? { lat: parseFloat(lat), long: parseFloat(long) } - : undefined; +export const getCoordinatesFromString = coordinatesString => { + const [lat, long] = coordinatesString.replace(/[^\d.,-]/gi, '').split(','); + if (lat && long) return { lat: parseFloat(lat), long: parseFloat(long) }; }; export const humanReadableVehicleStatus = { @@ -75,3 +75,16 @@ export const randomDavAddress = () => { }) ); }; + +export const downloadAsJsonFile = (obj) => { + if (document) { + const dataStr = 'data:text/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(obj)); + const downloadAnchorNode = document.createElement('a'); + downloadAnchorNode.setAttribute('href', dataStr); + downloadAnchorNode.setAttribute('download', 'route.json'); + downloadAnchorNode.click(); + downloadAnchorNode.remove(); + } else { + console.error('Download failed: document is not defined.'); + } +}; diff --git a/src/reducers/app.js b/src/reducers/app.js index 5030dc9..da50dac 100644 --- a/src/reducers/app.js +++ b/src/reducers/app.js @@ -5,8 +5,8 @@ const defaultState = {}; export default handleActions( { - [updateApp]: (state, { payload: { name, path } }) => { - return { ...state, name, path }; + [updateApp]: (state, { payload: { name, path, needType } }) => { + return { ...state, name, path, needType }; }, }, defaultState, diff --git a/src/reducers/captains.js b/src/reducers/captains.js new file mode 100644 index 0000000..a188036 --- /dev/null +++ b/src/reducers/captains.js @@ -0,0 +1,44 @@ +import { + handleActions +} from 'redux-actions'; +import { + getSimulationDronesFulfilled, + updateStatusFulfilled +} from '../actions'; + +const defaultState = {}; + +export default handleActions({ + [updateStatusFulfilled]: (state, { + payload + }) => { + let captains = payload.captains || []; + captains.forEach(captain => { + state[captain.id] = captain; + }); + return state; + }, + [getSimulationDronesFulfilled]: (state, { + payload + }) => { + payload.forEach(captain => { + if (!state[captain.id]) { + state[captain.id] = captain; + } + else{ + state[captain.id].coords = captain.coords; + } + }); + return state; + } +}, +defaultState +); + +export const getCaptainsArray = state => + Object.entries(state).map(([, captain]) => captain); + +export const getCaptainOnMission = state => + state.mission.captain_id ? + state.captains[state.mission.captain_id] : + undefined; diff --git a/src/reducers/chargers.js b/src/reducers/chargers.js new file mode 100644 index 0000000..f57786a --- /dev/null +++ b/src/reducers/chargers.js @@ -0,0 +1,24 @@ +import {handleActions} from 'redux-actions'; +import {updateStatusFulfilled} from '../actions'; + +const defaultState = {}; + +export default handleActions( + { + [updateStatusFulfilled]: (state, {payload: {chargers = []}}) => { + let nextState = {}; + chargers.forEach(charger => { + nextState[charger.id] = charger; + }); + return nextState; + } + }, + defaultState, +); + +export const getChargerArray = state => + Object.entries(state).map(([, vehicle]) => vehicle); + +export const getChargerOnMission = state => + state.mission.chargerId ? state.chargers[state.mission.chargerId] : undefined; + diff --git a/src/reducers/index.js b/src/reducers/index.js index a19acb1..7bdf940 100644 --- a/src/reducers/index.js +++ b/src/reducers/index.js @@ -1,6 +1,9 @@ import { combineReducers } from 'redux'; import settings from './settings'; import vehicles from './vehicles'; +import chargers from './chargers'; +import routes from './routes'; +import captains from './captains'; import map from './map'; import order from './order'; import bids from './bids'; @@ -10,6 +13,9 @@ import app from './app'; export default combineReducers({ settings, vehicles, + chargers, + routes, + captains, map, order, bids, diff --git a/src/reducers/mission.js b/src/reducers/mission.js index 4150096..0dbe134 100644 --- a/src/reducers/mission.js +++ b/src/reducers/mission.js @@ -1,53 +1,71 @@ -import { handleActions } from 'redux-actions'; +import {handleActions} from 'redux-actions'; import { chooseBidFulfilled, + updateContractMissionIdMissionId, confirmTakeoffPending, confirmTakeoffFulfilled, updateStatusFulfilled, + startChargingMissionFulfilled, + confirmDroneDocking, + completeChargingMission, + createMissionTransactionFulfilled, } from '../actions'; +import {NEED_TYPES} from '../config/needTypes'; const defaultState = {}; export default handleActions( { - [chooseBidFulfilled]: (state, { payload }) => { + [chooseBidFulfilled]: (state, {payload}) => { + const payloadMission = payload.mission; let { mission_id, - vehicle_id, + need_type, price, - time_to_pickup, - time_to_dropoff, - pickup_latitude, - pickup_longitude, - pickup_address, - dropoff_latitude, - dropoff_longitude, - pickup_at, - cargo_type, - weight, - signed_at, - } = payload.mission; - const mission = { - id: parseInt(mission_id), - vehicleId: vehicle_id, + } = payloadMission; + + let mission = { + id: mission_id, price: parseFloat(price), - timeToPickup: parseFloat(time_to_pickup), - timeToDropoff: parseFloat(time_to_dropoff), - pickup: { - address: pickup_address, - lat: parseFloat(pickup_latitude), - long: parseFloat(pickup_longitude), - }, - dropoff: { - lat: parseFloat(dropoff_latitude), - long: parseFloat(dropoff_longitude), - }, - pickupAt: pickup_at, - cargo_type: cargo_type, - weight: weight, - signedAt: parseInt(signed_at), }; - return { ...state, ...mission }; + + if (need_type === NEED_TYPES.DRONE_CHARGING) { + mission = { + ...mission, ...{ + chargerId: payloadMission.captain_id, + } + }; + } else { + mission = { + ...mission, ...{ + vehicleId: payloadMission.captain_id, + timeToPickup: parseFloat(payloadMission.time_to_pickup), + timeToDropoff: parseFloat(payloadMission.time_to_dropoff), + pickup: { + address: payloadMission.pickup_address, + lat: parseFloat(payloadMission.pickup_latitude), + long: parseFloat(payloadMission.pickup_longitude), + }, + dropoff: { + lat: parseFloat(payloadMission.dropoff_latitude), + long: parseFloat(payloadMission.dropoff_longitude), + }, + pickupAt: payloadMission.pickup_at, + cargo_type: payloadMission.cargo_type, + weight: payloadMission.weight, + signedAt: parseInt(payloadMission.signed_at), + } + }; + } + return {...state, ...mission}; + }, + + [updateContractMissionIdMissionId]: (state, {payload: {contractMissionId}}) => { + return {...state, contractMissionId: contractMissionId}; + }, + + [createMissionTransactionFulfilled]: (state) => { + return { ...state, status: 'completed' }; }, [confirmTakeoffPending]: state => ({ @@ -55,16 +73,31 @@ export default handleActions( status: 'takeoff_confirmation_initiated', }), - [confirmTakeoffFulfilled]: (state, { payload: { mission } }) => { - return { ...state, ...mission, status: 'takeoff_confirmation_received' }; + [confirmTakeoffFulfilled]: (state, {payload: {mission}}) => { + return {...state, ...mission, status: 'takeoff_confirmation_received'}; }, - [updateStatusFulfilled]: (state, { payload: { mission } }) => { + [updateStatusFulfilled]: (state, {payload: {mission}}) => { if (mission) { - return { ...state, ...mission, status: mission.status }; + return {...state, ...mission, status: mission.status}; } return state; }, + + [startChargingMissionFulfilled]: (state, {payload}) => { + if (payload.mission) { + return {...state, ...payload.mission, status: 'charger_waiting'}; + } + return state; + }, + + [confirmDroneDocking]: (state) => { + return {...state, ...{status: 'docking_confirmation_received'}}; + }, + + [completeChargingMission]: (state) => { + return {...state, ...{status: 'completed'}}; + }, }, defaultState, ); diff --git a/src/reducers/order.js b/src/reducers/order.js index 470f808..dfef351 100644 --- a/src/reducers/order.js +++ b/src/reducers/order.js @@ -1,12 +1,18 @@ -import {handleActions} from 'redux-actions'; +import {handleActions, combineActions} from 'redux-actions'; import { - updateOrderDetails, createNeedFulfilled, updateStatusFulfilled, - resetOrderDetails, chooseBidPending, updateBidsFulfilled + updateOrderDetails, + createDroneDeliveryNeedFulfilled, createDroneChargingNeedFulfilled, createRoutePlanNeedFulfilled, + updateStatusFulfilled, + resetOrderDetails, chooseBidPending, updateBidsFulfilled, + unlockWallet, unregisteredDavId, registerDavIdFulfilled, closeWalletDialog, startChargingMissionFulfilled, + confirmDroneDocking } from '../actions'; import getConfig from '../config'; const defaultState = { stage: 'draft', // draft | searching | choosing | signing | in_mission + registration_step: 'none', // none | unlock_wallet | register_id | register_fulfilled | registered + fetching: false, pickup: undefined, dropoff: undefined, pickup_at: undefined, @@ -16,11 +22,23 @@ const defaultState = { export default handleActions({ + [unlockWallet]: (state) => { + return {...state, registration_step: 'unlock_wallet', fetching: false}; + }, + [unregisteredDavId]: (state) => { + return {...state, registration_step: 'register_id', fetching: false}; + }, + [registerDavIdFulfilled]: (state) => { + return {...state, registration_step: 'register_fulfilled', fetching: false}; + }, + [closeWalletDialog]: (state) => { + return {...state, registration_step: 'none'}; + }, [updateOrderDetails]: (state, {payload}) => { return {...state, ...payload}; }, - [createNeedFulfilled]: (state, {payload}) => { + [combineActions(createDroneDeliveryNeedFulfilled, createDroneChargingNeedFulfilled, createRoutePlanNeedFulfilled)]: (state, {payload}) => { return {...state, ...payload, stage: 'searching', created_at: Date.now()}; }, @@ -36,19 +54,28 @@ export default handleActions({ }, [updateStatusFulfilled]: (state, {payload}) => { - if (payload.status === 'in_mission') { + if (payload.status === 'in_mission' || payload.status === 'confirmed') { return {...state, ...payload, ...{stage: 'in_mission'}}; } return state; }, + [startChargingMissionFulfilled]: state => { + return {...state, ...{stage: 'in_mission'}}; + }, + + [confirmDroneDocking]: state => { + return {...state, ...{stage: 'in_mission'}}; + }, [resetOrderDetails]: () => defaultState, [chooseBidPending]: state => { return {...state, stage: 'signing'}; }, + + }, defaultState, ); diff --git a/src/reducers/routes.js b/src/reducers/routes.js new file mode 100644 index 0000000..a5bce6c --- /dev/null +++ b/src/reducers/routes.js @@ -0,0 +1,24 @@ +import { handleActions } from 'redux-actions'; +import { updateStatusFulfilled } from '../actions'; + +const defaultState = {}; + +export default handleActions( + { + [updateStatusFulfilled]: (state, { payload: { providers = []} }) => { + let nextState = {}; + providers.forEach(provider => { + // console.log(provider); + nextState[provider.id] = provider; + }); + return nextState; + } + }, + defaultState, +); + +// export const getChargerArray = state => +// Object.entries(state).map(([, vehicle]) => vehicle); + +export const getRouteProvidersOnMission = state => + state.mission.vehicleId ? state.vehicles[state.mission.vehicleId] : undefined; diff --git a/src/reducers/settings.js b/src/reducers/settings.js index cea2fae..eaea1e5 100644 --- a/src/reducers/settings.js +++ b/src/reducers/settings.js @@ -1,4 +1,6 @@ import { randomDavAddress } from '../lib/utils'; +import { handleActions } from 'redux-actions'; +import { updateDavId } from '../actions'; const defaultState = { welcome_seen: false, // Has user finished/skipped/closed on-boarding process? @@ -6,9 +8,10 @@ const defaultState = { user_icon: '/images/noam.jpg', }; -export default (state = defaultState, action) => { - switch (action.type) { - default: - return state; - } -}; +export default handleActions({ + + [updateDavId]: (state, {payload: { davId }}) => { + return {...state, user_id: davId.toLowerCase()}; + }, + +}, defaultState); diff --git a/src/reducers/vehicles.js b/src/reducers/vehicles.js index 53cf235..71b1b52 100644 --- a/src/reducers/vehicles.js +++ b/src/reducers/vehicles.js @@ -1,11 +1,11 @@ -import { handleActions } from 'redux-actions'; +/* import { handleActions } from 'redux-actions'; import { updateStatusFulfilled, confirmTakeoffFulfilled } from '../actions'; const defaultState = {}; export default handleActions( { - [updateStatusFulfilled]: (state, { payload: { vehicles } }) => { + [updateStatusFulfilled]: (state, { payload: { vehicles = [] } }) => { let nextState = {}; vehicles.forEach(vehicle => { nextState[vehicle.id] = vehicle; @@ -27,3 +27,4 @@ export const getVehicleArray = state => export const getVehicleOnMission = state => state.mission.vehicleId ? state.vehicles[state.mission.vehicleId] : undefined; + */ diff --git a/test/specs/lib.utils.spec.js b/test/specs/lib.utils.spec.js new file mode 100644 index 0000000..3b8fbc4 --- /dev/null +++ b/test/specs/lib.utils.spec.js @@ -0,0 +1,23 @@ +import * as utils from '../../src/lib/utils'; + + +describe('shiftCoords function', () => { + + const coordinates = { lat: 19.14641, long: 73.1424 }; + + it('return undefined if input object is not a coordinate', () => { + const output = utils.shiftCoords({ other : 'than', a : 'coordinate' }); + expect(output).toEqual(undefined); + }); + + it('should return one object', () => { + const output = utils.shiftCoords(coordinates); + expect(typeof output).toBe('object'); + }); + + it('return object should be a coordinate', () => { + const output = utils.shiftCoords(coordinates); + expect(Object.keys(output)).toEqual(expect.arrayContaining(['lat', 'long'])); + }); + +}); \ No newline at end of file diff --git a/webpack.common.js b/webpack.common.js index e7297c4..c538a2a 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -2,11 +2,10 @@ const path = require('path'); const webpack = require('webpack'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); -module.exports = (env = 'development') => { +module.exports = (env = 'development',appName) => { return { entry: { - drone_simulation: './src/apps/drone_simulation/Main.jsx', - delivery_drones: './src/apps/delivery_drones/Main.jsx', + app:`./src/apps/${appName}/Main.jsx`, vendor: [ 'mapbox-gl', 'react', @@ -20,7 +19,7 @@ module.exports = (env = 'development') => { ], }, output: { - path: path.resolve(__dirname, 'dist'), + path: path.resolve(__dirname, `dist/${appName}`), publicPath: '/', filename: '[name].bundle.[chunkhash:8].js', sourceMapFilename: '[file].map', @@ -46,7 +45,7 @@ module.exports = (env = 'development') => { use: [{ loader: 'css-loader', options: { minimize: true } }], } ) - : ['style-loader', 'css-loader'], + : ['style-loader', 'css-loader'], }, { test: /\.(png|jpg|gif|svg)$/, diff --git a/webpack.dev.js b/webpack.dev.js index 6fd7b96..e88f7d8 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -5,32 +5,46 @@ const getCommon = require('./webpack.common.js'); const HtmlWebpackPlugin = require('html-webpack-plugin'); process.env.NODE_ENV = 'development'; +const appName=process.env.APP; -module.exports = merge(getCommon(process.env.NODE_ENV), { +console.log(`Building ${appName}...`); + +const favicon = process.env.DOMAIN || 'missions'; +const title = (domain => { + switch (domain) { + default: + case 'missions': + return 'Missions'; + case 'mooving': + return 'Mooving'; + } +})(process.env.DOMAIN); + +module.exports = merge(getCommon(process.env.NODE_ENV,appName), { devtool: 'eval-source-map', devServer: { inline: true, contentBase: path.resolve(__dirname, 'src'), + host:'0.0.0.0', port: 3333, historyApiFallback: true, }, plugins: [ new HtmlWebpackPlugin({ filename: 'index.html', - chunks: ['vendor', 'drone_simulation'], - template: path.resolve(__dirname, 'src/index.html'), - favicon: path.resolve(__dirname, 'src/favicon.ico'), - }), - new HtmlWebpackPlugin({ - filename: 'delivery_drones/index.html', - chunks: ['vendor', 'delivery_drones'], + chunks: ['vendor', 'app'], + title:`${title} by DAV`, template: path.resolve(__dirname, 'src/index.html'), - favicon: path.resolve(__dirname, 'src/favicon.ico'), + favicon: path.resolve(__dirname, `src/favicon_${favicon}.ico`), }), new webpack.DefinePlugin({ 'process.env': { + APP: JSON.stringify(process.env.APP), + DOMAIN: JSON.stringify(process.env.DOMAIN), NODE_ENV: JSON.stringify(process.env.NODE_ENV), - MISSION_CONTROL_HOST: JSON.stringify('http://localhost:8888'), + BLOCKCHAIN_TYPE: JSON.stringify('TESTNET'), + MISSION_CONTROL_URL: JSON.stringify('http://localhost:8888'), + CAPTAIN_SIM_URL: JSON.stringify('http://localhost:8887') }, }), ], diff --git a/webpack.prod.js b/webpack.prod.js index 90a3baf..24a2113 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -17,7 +17,9 @@ module.exports = merge(getCommon(process.env.NODE_ENV), { new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV), - MISSION_CONTROL_HOST: JSON.stringify('https://ctrl.missions.io'), + BLOCKCHAIN_TYPE: JSON.stringify('MAINNET'), + MISSION_CONTROL_URL: JSON.stringify('https://ctrl.missions.io'), + CAPTAIN_SIM_URL: JSON.stringify('https://ctrl.missions.io'), }, }), new HtmlWebpackPlugin({ @@ -32,13 +34,25 @@ module.exports = merge(getCommon(process.env.NODE_ENV), { template: path.resolve(__dirname, 'src/index.html'), favicon: path.resolve(__dirname, 'src/favicon.ico'), }), + new HtmlWebpackPlugin({ + filename: 'drone_charging.html', + chunks: ['vendor', 'drone_charging'], + template: path.resolve(__dirname, 'src/index.html'), + favicon: path.resolve(__dirname, 'src/favicon.ico'), + }), + new HtmlWebpackPlugin({ + filename: 'route_plan.html', + chunks: ['vendor', 'route_plan'], + template: path.resolve(__dirname, 'src/index.html'), + favicon: path.resolve(__dirname, 'src/favicon.ico'), + }), new CopyWebpackPlugin([ { from: 'src/images', to: 'images' }, { from: 'src/browserconfig.xml' }, { from: 'src/manifest.json' }, { from: 'src/lib/mapbox-gl-rtl-text.js.min' , to: 'lib' }, ]), - new ExtractTextPlugin('styles.css'), + new ExtractTextPlugin('[name].bundle.css'), new UglifyJSPlugin({ sourceMap: true, }), diff --git a/webpack.stg.js b/webpack.stg.js index 01474b0..19fd73c 100644 --- a/webpack.stg.js +++ b/webpack.stg.js @@ -9,26 +9,49 @@ const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); process.env.NODE_ENV = 'production'; +const appName=process.env.APP; -module.exports = merge(getCommon(process.env.NODE_ENV), { +console.log(`Building ${appName}...`); + +const favicon = process.env.DOMAIN || 'missions'; +const title = (domain => { + switch (domain) { + default: + case 'missions': + return 'Missions'; + case 'mooving': + return 'Mooving'; + } +})(process.env.DOMAIN); + +module.exports = merge(getCommon(process.env.NODE_ENV,appName), { devtool: 'cheap-module-source-map', + devServer: { + inline: true, + contentBase: path.resolve(__dirname, 'src'), + host:'0.0.0.0', + port: 3333, + historyApiFallback: true, + }, plugins: [ - new CleanWebpackPlugin(['dist']), + new CleanWebpackPlugin([`dist/${appName}`]), new webpack.DefinePlugin({ 'process.env': { + APP: JSON.stringify(process.env.APP), + DOMAIN: JSON.stringify(process.env.DOMAIN), NODE_ENV: JSON.stringify(process.env.NODE_ENV), - MISSION_CONTROL_HOST: JSON.stringify('http://missioncontrol-stg.us-east-1.elasticbeanstalk.com'), + BLOCKCHAIN_TYPE: JSON.stringify('MAINNET'), + MISSION_CONTROL_URL: JSON.stringify('https://ctrl.mooving.io'), + CAPTAIN_SIM_URL: JSON.stringify('https://captain-sim.mooving.io'), }, }), + new CopyWebpackPlugin([ + { from: path.resolve(__dirname, `src/favicon_${favicon}.ico`), to: path.resolve(__dirname, `src/favicon.ico`) } + ]), new HtmlWebpackPlugin({ filename: 'index.html', - chunks: ['vendor', 'drone_simulation'], - template: path.resolve(__dirname, 'src/index.html'), - favicon: path.resolve(__dirname, 'src/favicon.ico'), - }), - new HtmlWebpackPlugin({ - filename: 'delivery_drones.html', - chunks: ['vendor', 'delivery_drones'], + chunks: ['vendor', 'app'], + title:`${title}`, template: path.resolve(__dirname, 'src/index.html'), favicon: path.resolve(__dirname, 'src/favicon.ico'), }), @@ -38,7 +61,7 @@ module.exports = merge(getCommon(process.env.NODE_ENV), { { from: 'src/manifest.json' }, { from: 'src/lib/mapbox-gl-rtl-text.js.min' , to: 'lib' }, ]), - new ExtractTextPlugin('styles.css'), + new ExtractTextPlugin('[name].bundle.css'), new UglifyJSPlugin({ sourceMap: true, }), diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index aead516..0000000 --- a/yarn.lock +++ /dev/null @@ -1,8992 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0-beta.35": - version "7.0.0-beta.40" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.40.tgz#37e2b0cf7c56026b4b21d3927cadf81adec32ac6" - dependencies: - "@babel/highlight" "7.0.0-beta.40" - -"@babel/highlight@7.0.0-beta.40": - version "7.0.0-beta.40" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.40.tgz#b43d67d76bf46e1d10d227f68cddcd263786b255" - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - -"@mapbox/geojson-area@0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@mapbox/geojson-area/-/geojson-area-0.2.2.tgz#18d7814aa36bf23fbbcc379f8e26a22927debf10" - dependencies: - wgs84 "0.0.0" - -"@mapbox/gl-matrix@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@mapbox/gl-matrix/-/gl-matrix-0.0.1.tgz#e5126aab4d64c36b81c7a97d0ae0dddde5773d2b" - -"@mapbox/mapbox-gl-supported@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.3.0.tgz#89daee16845400ea1c76e084bdfab2971e552a9c" - -"@mapbox/point-geometry@0.1.0", "@mapbox/point-geometry@^0.1.0", "@mapbox/point-geometry@~0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2" - -"@mapbox/shelf-pack@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@mapbox/shelf-pack/-/shelf-pack-3.1.0.tgz#1edea9c0bf6715b217171ba60646c201af520f6a" - -"@mapbox/tiny-sdf@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@mapbox/tiny-sdf/-/tiny-sdf-1.1.0.tgz#b0b8f5c22005e6ddb838f421ffd257c1f74f9a20" - -"@mapbox/unitbezier@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e" - -"@mapbox/vector-tile@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@mapbox/vector-tile/-/vector-tile-1.3.0.tgz#c495f972525befccefcd838f45ffa37ef3b70fe8" - dependencies: - "@mapbox/point-geometry" "~0.1.0" - -"@mapbox/whoots-js@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@mapbox/whoots-js/-/whoots-js-3.0.0.tgz#c1de4293081424da3ac30c23afa850af1019bb54" - -"@turf/along@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/along/-/along-5.1.5.tgz#61d6e6a6584acddab56ac5584e07bf8cbe5f8beb" - dependencies: - "@turf/bearing" "^5.1.5" - "@turf/destination" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - -"@turf/area@5.1.x", "@turf/area@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/area/-/area-5.1.5.tgz#efd899bfd260cdbd1541b2a3c155f8a5d2eefa1d" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/bbox-clip@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/bbox-clip/-/bbox-clip-5.1.5.tgz#3364b5328dff9f3cf41d9e02edaff374d150cc84" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - lineclip "^1.1.5" - -"@turf/bbox-polygon@5.1.x", "@turf/bbox-polygon@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/bbox-polygon/-/bbox-polygon-5.1.5.tgz#6aeba4ed51d85d296e0f7c38b88c339f01eee024" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/bbox@5.1.x", "@turf/bbox@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/bbox/-/bbox-5.1.5.tgz#3051df514ad4c50f4a4f9b8a2d15fd8b6840eda3" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/bearing@5.1.x", "@turf/bearing@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/bearing/-/bearing-5.1.5.tgz#7a0b790136c4ef4797f0246305d45cbe2d27b3f7" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/bezier-spline@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/bezier-spline/-/bezier-spline-5.1.5.tgz#59a27bba5d7b97ef15ab3fd5a40fbd2387049bca" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/boolean-clockwise@5.1.x", "@turf/boolean-clockwise@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/boolean-clockwise/-/boolean-clockwise-5.1.5.tgz#3302b7dac62c5e291a0789e29af7283387fa9deb" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/boolean-contains@5.1.x", "@turf/boolean-contains@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/boolean-contains/-/boolean-contains-5.1.5.tgz#596d63aee636f7ad53ee99f9ff24c96994a0ef14" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/boolean-point-on-line" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/boolean-crosses@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/boolean-crosses/-/boolean-crosses-5.1.5.tgz#01bfaea2596f164de4a4d325094dc7c255c715d6" - dependencies: - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/line-intersect" "^5.1.5" - "@turf/polygon-to-line" "^5.1.5" - -"@turf/boolean-disjoint@5.1.x": - version "5.1.6" - resolved "https://registry.yarnpkg.com/@turf/boolean-disjoint/-/boolean-disjoint-5.1.6.tgz#3fbd87084b269133f5fd15725deb3c6675fb8a9d" - dependencies: - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/line-intersect" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/polygon-to-line" "^5.1.5" - -"@turf/boolean-equal@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/boolean-equal/-/boolean-equal-5.1.5.tgz#29f8f6d60bb84507dfd765b32254db8e72c938a4" - dependencies: - "@turf/clean-coords" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - geojson-equality "0.1.6" - -"@turf/boolean-overlap@5.1.x", "@turf/boolean-overlap@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/boolean-overlap/-/boolean-overlap-5.1.5.tgz#0d4e64c52c770a28e93d9efcdf8a8b8373acce75" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/line-intersect" "^5.1.5" - "@turf/line-overlap" "^5.1.5" - "@turf/meta" "^5.1.5" - geojson-equality "0.1.6" - -"@turf/boolean-parallel@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/boolean-parallel/-/boolean-parallel-5.1.5.tgz#739358475ea5b65c7e1827a3c3e0e8a687d3a85d" - dependencies: - "@turf/clean-coords" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/line-segment" "^5.1.5" - "@turf/rhumb-bearing" "^5.1.5" - -"@turf/boolean-point-in-polygon@5.1.x", "@turf/boolean-point-in-polygon@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-5.1.5.tgz#f01cc194d1e030a548bfda981cba43cfd62941b7" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/boolean-point-on-line@5.1.x", "@turf/boolean-point-on-line@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/boolean-point-on-line/-/boolean-point-on-line-5.1.5.tgz#f633c5ff802ad24bb8f158dadbaf6ff4a023dd7b" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/boolean-within@5.1.x", "@turf/boolean-within@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/boolean-within/-/boolean-within-5.1.5.tgz#47105d56d0752a9d0fbfcd43c36a5f9149dc8697" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/boolean-point-on-line" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/buffer@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/buffer/-/buffer-5.1.5.tgz#841c9627cfb974b122ac4e1a956f0466bc0231c4" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/center" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/projection" "^5.1.5" - d3-geo "1.7.1" - turf-jsts "*" - -"@turf/center-mean@5.1.x", "@turf/center-mean@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/center-mean/-/center-mean-5.1.5.tgz#8c8e9875391e5f09f0e6e78f5d661b88b2108a0a" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/center-median@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/center-median/-/center-median-5.1.5.tgz#bb461bfe7a2a48601d8a4727685718723a14a872" - dependencies: - "@turf/center-mean" "^5.1.5" - "@turf/centroid" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/center-of-mass@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/center-of-mass/-/center-of-mass-5.1.5.tgz#4d3bd79d88498dbab8324d4f69f0322f6520b9ca" - dependencies: - "@turf/centroid" "^5.1.5" - "@turf/convex" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/center@5.1.x", "@turf/center@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/center/-/center-5.1.5.tgz#44ab2cd954f63c0d37757f7158a99c3ef5114b80" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/helpers" "^5.1.5" - -"@turf/centroid@5.1.x", "@turf/centroid@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/centroid/-/centroid-5.1.5.tgz#778ada74216335021ad8fd0e7a65a8349d53c769" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/circle@5.1.x", "@turf/circle@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/circle/-/circle-5.1.5.tgz#9b1577835508ab52fb1c10b2a5065cba2b87b6a5" - dependencies: - "@turf/destination" "^5.1.5" - "@turf/helpers" "^5.1.5" - -"@turf/clean-coords@5.1.x", "@turf/clean-coords@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/clean-coords/-/clean-coords-5.1.5.tgz#12800a98a78c9a452a72ec428493c43acf2ada1f" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/clone@5.1.x", "@turf/clone@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/clone/-/clone-5.1.5.tgz#253e8d35477181976e33adfab50a0f02a7f0e367" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/clusters-dbscan@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/clusters-dbscan/-/clusters-dbscan-5.1.5.tgz#5781fb4e656c747a0b8e9937df73181c0309e26f" - dependencies: - "@turf/clone" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - density-clustering "1.3.0" - -"@turf/clusters-kmeans@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/clusters-kmeans/-/clusters-kmeans-5.1.5.tgz#fd6dfea8b133ba8bdc2370ac3cacee1587a302f1" - dependencies: - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - skmeans "0.9.7" - -"@turf/clusters@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/clusters/-/clusters-5.1.5.tgz#673a5e5f1b19c9cababc57c908eeadd682224dd4" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/collect@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/collect/-/collect-5.1.5.tgz#fe98c9a8c218ecf24ffc33d7029517b7c19b2a3e" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/helpers" "^5.1.5" - rbush "^2.0.1" - -"@turf/combine@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/combine/-/combine-5.1.5.tgz#bb14bdefa55504357195fc1a124cd7d53a8c8905" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/concave@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/concave/-/concave-5.1.5.tgz#23bbaac387d034b96574a1bd70d059237a9d2110" - dependencies: - "@turf/clone" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/tin" "^5.1.5" - topojson-client "3.x" - topojson-server "3.x" - -"@turf/convex@5.1.x", "@turf/convex@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/convex/-/convex-5.1.5.tgz#0df9377dd002216ce9821b07f705e037dae3e01d" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - concaveman "*" - -"@turf/destination@5.1.x", "@turf/destination@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/destination/-/destination-5.1.5.tgz#ed35381bdce83bbddcbd07a2e2bce2bddffbcc26" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/difference@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/difference/-/difference-5.1.5.tgz#a24d690a7bca803f1090a9ee3b9d906fc4371f42" - dependencies: - "@turf/area" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - turf-jsts "*" - -"@turf/dissolve@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/dissolve/-/dissolve-5.1.5.tgz#2cf133a9021d2163831c3d7a958d6507f9d81938" - dependencies: - "@turf/boolean-overlap" "^5.1.5" - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/line-intersect" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/union" "^5.1.5" - geojson-rbush "2.1.0" - get-closest "*" - -"@turf/distance@5.1.x", "@turf/distance@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/distance/-/distance-5.1.5.tgz#39cf18204bbf87587d707e609a60118909156409" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/ellipse@5.1.x", "@turf/ellipse@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/ellipse/-/ellipse-5.1.5.tgz#d57cab853985920cde60228a78d80458025c54be" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/rhumb-destination" "^5.1.5" - "@turf/transform-rotate" "^5.1.5" - -"@turf/envelope@5.1.x", "@turf/envelope@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/envelope/-/envelope-5.1.5.tgz#5013309c53fdd43dfaf4b588a65c3fed7dbc108a" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/bbox-polygon" "^5.1.5" - "@turf/helpers" "^5.1.5" - -"@turf/explode@5.1.x", "@turf/explode@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/explode/-/explode-5.1.5.tgz#b12b2f774004a1b48f62ba95b20a1c655a3de118" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/flatten@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/flatten/-/flatten-5.1.5.tgz#da2927067133ed6169b0b9d607b9215688aa1358" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/flip@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/flip/-/flip-5.1.5.tgz#436f643a722f0ca53b9fce638e4693db3608a68a" - dependencies: - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/great-circle@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/great-circle/-/great-circle-5.1.5.tgz#debfb671ce475509cb637301c15fcfccfa359a93" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/helpers@*", "@turf/helpers@6.x": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.0.1.tgz#625112616159e519033dc5d24c094ccbce7a457f" - -"@turf/helpers@5.1.x", "@turf/helpers@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-5.1.5.tgz#153405227ab933d004a5bb9641a9ed999fcbe0cf" - -"@turf/hex-grid@5.1.x", "@turf/hex-grid@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/hex-grid/-/hex-grid-5.1.5.tgz#9b7ba5fecf5051f1e85892f713fce5c550502a6a" - dependencies: - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/intersect" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/interpolate@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/interpolate/-/interpolate-5.1.5.tgz#0f12f0ab756d6dd10afb290ca6e877bdef013eaa" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/centroid" "^5.1.5" - "@turf/clone" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/hex-grid" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/point-grid" "^5.1.5" - "@turf/square-grid" "^5.1.5" - "@turf/triangle-grid" "^5.1.5" - -"@turf/intersect@5.1.x", "@turf/intersect@^5.1.5": - version "5.1.6" - resolved "https://registry.yarnpkg.com/@turf/intersect/-/intersect-5.1.6.tgz#13ffcceb7a529c2a7e5d6681ab3ba671f868e95f" - dependencies: - "@turf/clean-coords" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/truncate" "^5.1.5" - turf-jsts "*" - -"@turf/invariant@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-5.1.5.tgz#f59f4fefa09224b15dce1651f903c868d57a24e1" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/invariant@^5.1.5": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-5.2.0.tgz#f0150ff7290b38577b73d088b7932c1ee0aa90a7" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/isobands@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/isobands/-/isobands-5.1.5.tgz#6b44cef584d551a31304187af23b4a1582e3f08d" - dependencies: - "@turf/area" "^5.1.5" - "@turf/bbox" "^5.1.5" - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/explode" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/isolines@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/isolines/-/isolines-5.1.5.tgz#8ab4e7f42bb3dfc54614e5bf155967f7e55d2de1" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/kinks@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/kinks/-/kinks-5.1.5.tgz#8abb6961d9bb0107213baddf2c2c2640d0256980" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/length@5.1.x", "@turf/length@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/length/-/length-5.1.5.tgz#f3a5f864c2b996a8bb471794535a1faf12eebefb" - dependencies: - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/line-arc@5.1.x", "@turf/line-arc@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-arc/-/line-arc-5.1.5.tgz#0078a7447835a12ae414a211f9a64d1186150e15" - dependencies: - "@turf/circle" "^5.1.5" - "@turf/destination" "^5.1.5" - "@turf/helpers" "^5.1.5" - -"@turf/line-chunk@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-chunk/-/line-chunk-5.1.5.tgz#910a85c05c06d9d0f9c38977a05e0818d5085c42" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/length" "^5.1.5" - "@turf/line-slice-along" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/line-intersect@5.1.x", "@turf/line-intersect@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-intersect/-/line-intersect-5.1.5.tgz#0e29071ae403295e491723bc49f5cfac8d11ddf3" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/line-segment" "^5.1.5" - "@turf/meta" "^5.1.5" - geojson-rbush "2.1.0" - -"@turf/line-offset@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-offset/-/line-offset-5.1.5.tgz#2ab5b2f089f8c913e231d994378e79dca90b5a1e" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/line-overlap@5.1.x", "@turf/line-overlap@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-overlap/-/line-overlap-5.1.5.tgz#943c6f87a0386dc43dfac11d2b3ff9c112cd3f60" - dependencies: - "@turf/boolean-point-on-line" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/line-segment" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/nearest-point-on-line" "^5.1.5" - geojson-rbush "2.1.0" - -"@turf/line-segment@5.1.x", "@turf/line-segment@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-segment/-/line-segment-5.1.5.tgz#3207aaee546ab24c3d8dc3cc63f91c770b8013e5" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/line-slice-along@5.1.x", "@turf/line-slice-along@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-slice-along/-/line-slice-along-5.1.5.tgz#eddad0a21ef479f2968a11bd2dd7289a2132e9a5" - dependencies: - "@turf/bearing" "^5.1.5" - "@turf/destination" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - -"@turf/line-slice@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-slice/-/line-slice-5.1.5.tgz#1ecfce1462a378579754cedf4464cde26829f2b5" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/nearest-point-on-line" "^5.1.5" - -"@turf/line-split@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-split/-/line-split-5.1.5.tgz#5b2df4c37619b72ef725b5163cf9926d5540acb7" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/line-intersect" "^5.1.5" - "@turf/line-segment" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/nearest-point-on-line" "^5.1.5" - "@turf/square" "^5.1.5" - "@turf/truncate" "^5.1.5" - geojson-rbush "2.1.0" - -"@turf/line-to-polygon@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/line-to-polygon/-/line-to-polygon-5.1.5.tgz#213cf41a68f8224778ba39d3187dec3e8b81865a" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/mask@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/mask/-/mask-5.1.5.tgz#9ab0fef1a272c98fe3ef492f9ffb618206b242d5" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/union" "^5.1.5" - rbush "^2.0.1" - -"@turf/meta@*": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-6.0.1.tgz#cf6f3f2263a3d24fc8d6a7e90f0420bbc44c090d" - dependencies: - "@turf/helpers" "6.x" - -"@turf/meta@5.1.x": - version "5.1.6" - resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-5.1.6.tgz#c20a863eded0869fb28548dee889341bccb46a46" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/meta@^5.1.5": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-5.2.0.tgz#3b1ad485ee0c3b0b1775132a32c384d53e4ba53d" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/midpoint@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/midpoint/-/midpoint-5.1.5.tgz#e261f6b2b0ea8124cceff552a262dd465c9d05f0" - dependencies: - "@turf/bearing" "^5.1.5" - "@turf/destination" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - -"@turf/nearest-point-on-line@5.1.x", "@turf/nearest-point-on-line@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/nearest-point-on-line/-/nearest-point-on-line-5.1.5.tgz#5606ae297f15947524bea51a2a9ef51ec1bf9c36" - dependencies: - "@turf/bearing" "^5.1.5" - "@turf/destination" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/line-intersect" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/nearest-point-to-line@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/nearest-point-to-line/-/nearest-point-to-line-5.1.5.tgz#e19e4be76fb70ec72ef1efceb50ef57aa2114c66" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/point-to-line-distance" "^5.1.5" - -"@turf/nearest-point@5.1.x", "@turf/nearest-point@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/nearest-point/-/nearest-point-5.1.5.tgz#12050de41c398443224c7978de0f6213900d34fb" - dependencies: - "@turf/clone" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/planepoint@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/planepoint/-/planepoint-5.1.5.tgz#18bbdf006f759def5e42c6a006c9f9de81b2b7ff" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/point-grid@5.1.x", "@turf/point-grid@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/point-grid/-/point-grid-5.1.5.tgz#305141248f50bafe36ce7e66ba4b97e7ab236887" - dependencies: - "@turf/boolean-within" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/point-on-feature@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/point-on-feature/-/point-on-feature-5.1.5.tgz#30c7f032430277c6418d96d289e45b6bfb213fe7" - dependencies: - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/center" "^5.1.5" - "@turf/explode" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/nearest-point" "^5.1.5" - -"@turf/point-to-line-distance@5.1.x", "@turf/point-to-line-distance@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/point-to-line-distance/-/point-to-line-distance-5.1.5.tgz#2fe569dcc98d11116522a3c993be695eac06fa29" - dependencies: - "@turf/bearing" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/projection" "^5.1.5" - "@turf/rhumb-bearing" "^5.1.5" - "@turf/rhumb-distance" "^5.1.5" - -"@turf/points-within-polygon@5.1.x", "@turf/points-within-polygon@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/points-within-polygon/-/points-within-polygon-5.1.5.tgz#2b855a5df3aada57c2ee820a0754ab94928a2337" - dependencies: - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/polygon-tangents@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/polygon-tangents/-/polygon-tangents-5.1.5.tgz#2bf00991473025b178e250dc7cb9ae5409bbd652" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/polygon-to-line@5.1.x", "@turf/polygon-to-line@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/polygon-to-line/-/polygon-to-line-5.1.5.tgz#23bb448d84dc4c651999ac611a36d91c5925036a" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/polygonize@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/polygonize/-/polygonize-5.1.5.tgz#0493fa11879f39d10b9ad02ce6a23e942d08aa32" - dependencies: - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/envelope" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/projection@5.1.x", "@turf/projection@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/projection/-/projection-5.1.5.tgz#24517eeeb2f36816ba9f712e7ae6d6a368edf757" - dependencies: - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/random@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/random/-/random-5.1.5.tgz#b32efc934560ae8ba57e8ebb51f241c39fba2e7b" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/rewind@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/rewind/-/rewind-5.1.5.tgz#9ea3db4a68b73c1fd1dd11f57631b143cfefa1c9" - dependencies: - "@turf/boolean-clockwise" "^5.1.5" - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/rhumb-bearing@5.1.x", "@turf/rhumb-bearing@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/rhumb-bearing/-/rhumb-bearing-5.1.5.tgz#acf6a502427eb8c49e18cda6ae0effab0c5ddcd2" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/rhumb-destination@5.1.x", "@turf/rhumb-destination@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/rhumb-destination/-/rhumb-destination-5.1.5.tgz#b1b2aeb921547f2ac0c1a994b6a130f92463c742" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/rhumb-distance@5.1.x", "@turf/rhumb-distance@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/rhumb-distance/-/rhumb-distance-5.1.5.tgz#1806857625f4225384dad413e69f39538ff5f765" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/sample@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/sample/-/sample-5.1.5.tgz#e9cb448a4789cc56ee3de2dd6781e2343435b411" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/sector@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/sector/-/sector-5.1.5.tgz#ac2bb94c13edd6034f6fdc2b67008135d20f5e07" - dependencies: - "@turf/circle" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/line-arc" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/shortest-path@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/shortest-path/-/shortest-path-5.1.5.tgz#854ae8096f6bc3e1300faca77f3e8f67d8f935ab" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/bbox-polygon" "^5.1.5" - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/clean-coords" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/transform-scale" "^5.1.5" - -"@turf/simplify@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/simplify/-/simplify-5.1.5.tgz#0ac8f27a2eb4218183edd9998c3275abe408b926" - dependencies: - "@turf/clean-coords" "^5.1.5" - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/square-grid@5.1.x", "@turf/square-grid@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/square-grid/-/square-grid-5.1.5.tgz#1bd5f7b9eb14f0b60bc231fefe7351d1a32f1a51" - dependencies: - "@turf/boolean-contains" "^5.1.5" - "@turf/boolean-overlap" "^5.1.5" - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/intersect" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/square@5.1.x", "@turf/square@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/square/-/square-5.1.5.tgz#aa7b21e6033cc9252c3a5bd6f3d88dabd6fed180" - dependencies: - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - -"@turf/standard-deviational-ellipse@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/standard-deviational-ellipse/-/standard-deviational-ellipse-5.1.5.tgz#85cd283b5e1aca58f21bd66412e414b56d852324" - dependencies: - "@turf/center-mean" "^5.1.5" - "@turf/ellipse" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/points-within-polygon" "^5.1.5" - -"@turf/tag@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/tag/-/tag-5.1.5.tgz#d1ee1a5088ecfd4a1411019c98239ccf2a497d20" - dependencies: - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/tesselate@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/tesselate/-/tesselate-5.1.5.tgz#32a594e9c21a00420a9f90d2c43df3e1166061cd" - dependencies: - "@turf/helpers" "^5.1.5" - earcut "^2.0.0" - -"@turf/tin@5.1.x", "@turf/tin@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/tin/-/tin-5.1.5.tgz#28223eafc5fbe9ae9acca81cdcfea5d1424c917d" - dependencies: - "@turf/helpers" "^5.1.5" - -"@turf/transform-rotate@5.1.x", "@turf/transform-rotate@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/transform-rotate/-/transform-rotate-5.1.5.tgz#d096edd9e300fe315069d54d8e458c409221edfb" - dependencies: - "@turf/centroid" "^5.1.5" - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/rhumb-bearing" "^5.1.5" - "@turf/rhumb-destination" "^5.1.5" - "@turf/rhumb-distance" "^5.1.5" - -"@turf/transform-scale@5.1.x", "@turf/transform-scale@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/transform-scale/-/transform-scale-5.1.5.tgz#70fd3ae01856cf7bae9f15ad561cdfe8f89001b9" - dependencies: - "@turf/bbox" "^5.1.5" - "@turf/center" "^5.1.5" - "@turf/centroid" "^5.1.5" - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/rhumb-bearing" "^5.1.5" - "@turf/rhumb-destination" "^5.1.5" - "@turf/rhumb-distance" "^5.1.5" - -"@turf/transform-translate@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/transform-translate/-/transform-translate-5.1.5.tgz#530a257fb1dc7268dadcab34e67901eb2a3dec63" - dependencies: - "@turf/clone" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - "@turf/meta" "^5.1.5" - "@turf/rhumb-destination" "^5.1.5" - -"@turf/triangle-grid@5.1.x", "@turf/triangle-grid@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/triangle-grid/-/triangle-grid-5.1.5.tgz#7b36762108554c14f28caff3c48b1cfc82c8dc81" - dependencies: - "@turf/distance" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/intersect" "^5.1.5" - "@turf/invariant" "^5.1.5" - -"@turf/truncate@5.1.x", "@turf/truncate@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/truncate/-/truncate-5.1.5.tgz#9eedfb3b18ba81f2c98d3ead09431cca1884ad89" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - -"@turf/turf@^5.1.6": - version "5.1.6" - resolved "https://registry.yarnpkg.com/@turf/turf/-/turf-5.1.6.tgz#c3122592887ed234b75468b8a8c45bf886fbf8f6" - dependencies: - "@turf/along" "5.1.x" - "@turf/area" "5.1.x" - "@turf/bbox" "5.1.x" - "@turf/bbox-clip" "5.1.x" - "@turf/bbox-polygon" "5.1.x" - "@turf/bearing" "5.1.x" - "@turf/bezier-spline" "5.1.x" - "@turf/boolean-clockwise" "5.1.x" - "@turf/boolean-contains" "5.1.x" - "@turf/boolean-crosses" "5.1.x" - "@turf/boolean-disjoint" "5.1.x" - "@turf/boolean-equal" "5.1.x" - "@turf/boolean-overlap" "5.1.x" - "@turf/boolean-parallel" "5.1.x" - "@turf/boolean-point-in-polygon" "5.1.x" - "@turf/boolean-point-on-line" "5.1.x" - "@turf/boolean-within" "5.1.x" - "@turf/buffer" "5.1.x" - "@turf/center" "5.1.x" - "@turf/center-mean" "5.1.x" - "@turf/center-median" "5.1.x" - "@turf/center-of-mass" "5.1.x" - "@turf/centroid" "5.1.x" - "@turf/circle" "5.1.x" - "@turf/clean-coords" "5.1.x" - "@turf/clone" "5.1.x" - "@turf/clusters" "5.1.x" - "@turf/clusters-dbscan" "5.1.x" - "@turf/clusters-kmeans" "5.1.x" - "@turf/collect" "5.1.x" - "@turf/combine" "5.1.x" - "@turf/concave" "5.1.x" - "@turf/convex" "5.1.x" - "@turf/destination" "5.1.x" - "@turf/difference" "5.1.x" - "@turf/dissolve" "5.1.x" - "@turf/distance" "5.1.x" - "@turf/ellipse" "5.1.x" - "@turf/envelope" "5.1.x" - "@turf/explode" "5.1.x" - "@turf/flatten" "5.1.x" - "@turf/flip" "5.1.x" - "@turf/great-circle" "5.1.x" - "@turf/helpers" "5.1.x" - "@turf/hex-grid" "5.1.x" - "@turf/interpolate" "5.1.x" - "@turf/intersect" "5.1.x" - "@turf/invariant" "5.1.x" - "@turf/isobands" "5.1.x" - "@turf/isolines" "5.1.x" - "@turf/kinks" "5.1.x" - "@turf/length" "5.1.x" - "@turf/line-arc" "5.1.x" - "@turf/line-chunk" "5.1.x" - "@turf/line-intersect" "5.1.x" - "@turf/line-offset" "5.1.x" - "@turf/line-overlap" "5.1.x" - "@turf/line-segment" "5.1.x" - "@turf/line-slice" "5.1.x" - "@turf/line-slice-along" "5.1.x" - "@turf/line-split" "5.1.x" - "@turf/line-to-polygon" "5.1.x" - "@turf/mask" "5.1.x" - "@turf/meta" "5.1.x" - "@turf/midpoint" "5.1.x" - "@turf/nearest-point" "5.1.x" - "@turf/nearest-point-on-line" "5.1.x" - "@turf/nearest-point-to-line" "5.1.x" - "@turf/planepoint" "5.1.x" - "@turf/point-grid" "5.1.x" - "@turf/point-on-feature" "5.1.x" - "@turf/point-to-line-distance" "5.1.x" - "@turf/points-within-polygon" "5.1.x" - "@turf/polygon-tangents" "5.1.x" - "@turf/polygon-to-line" "5.1.x" - "@turf/polygonize" "5.1.x" - "@turf/projection" "5.1.x" - "@turf/random" "5.1.x" - "@turf/rewind" "5.1.x" - "@turf/rhumb-bearing" "5.1.x" - "@turf/rhumb-destination" "5.1.x" - "@turf/rhumb-distance" "5.1.x" - "@turf/sample" "5.1.x" - "@turf/sector" "5.1.x" - "@turf/shortest-path" "5.1.x" - "@turf/simplify" "5.1.x" - "@turf/square" "5.1.x" - "@turf/square-grid" "5.1.x" - "@turf/standard-deviational-ellipse" "5.1.x" - "@turf/tag" "5.1.x" - "@turf/tesselate" "5.1.x" - "@turf/tin" "5.1.x" - "@turf/transform-rotate" "5.1.x" - "@turf/transform-scale" "5.1.x" - "@turf/transform-translate" "5.1.x" - "@turf/triangle-grid" "5.1.x" - "@turf/truncate" "5.1.x" - "@turf/union" "5.1.x" - "@turf/unkink-polygon" "5.1.x" - "@turf/voronoi" "5.1.x" - -"@turf/union@5.1.x", "@turf/union@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/union/-/union-5.1.5.tgz#53285b6094047fc58d96aac0ea90865ec34d454b" - dependencies: - "@turf/helpers" "^5.1.5" - turf-jsts "*" - -"@turf/unkink-polygon@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/unkink-polygon/-/unkink-polygon-5.1.5.tgz#7b01847c50fb574ae2579e19e44cba8526d213c3" - dependencies: - "@turf/area" "^5.1.5" - "@turf/boolean-point-in-polygon" "^5.1.5" - "@turf/helpers" "^5.1.5" - "@turf/meta" "^5.1.5" - rbush "^2.0.1" - -"@turf/voronoi@5.1.x": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@turf/voronoi/-/voronoi-5.1.5.tgz#e856e9406dcc2f25d66ddc898584e27c2ebfca66" - dependencies: - "@turf/helpers" "^5.1.5" - "@turf/invariant" "^5.1.5" - d3-voronoi "1.1.2" - -"JSV@>= 4.0.x": - version "4.0.2" - resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" - -abab@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - -accepts@~1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" - dependencies: - mime-types "~2.1.16" - negotiator "0.6.1" - -acorn-dynamic-import@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" - dependencies: - acorn "^4.0.3" - -acorn-globals@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" - dependencies: - acorn "^5.0.0" - -acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - dependencies: - acorn "^3.0.4" - -acorn-object-spread@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz#48ead0f4a8eb16995a17a0db9ffc6acaada4ba68" - dependencies: - acorn "^3.1.0" - -acorn@^3.0.4, acorn@^3.1.0, acorn@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - -acorn@^4.0.0, acorn@^4.0.3: - version "4.0.13" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" - -acorn@^5.0.0, acorn@^5.1.0, acorn@^5.3.0, acorn@^5.4.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.4.1.tgz#fdc58d9d17f4a4e98d102ded826a9b9759125102" - -affine-hull@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/affine-hull/-/affine-hull-1.0.0.tgz#763ff1d38d063ceb7e272f17ee4d7bbcaf905c5d" - dependencies: - robust-orientation "^1.1.3" - -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - -ajv-keywords@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be" - -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.1.1.tgz#978d597fbc2b7d0e5a5c3ddeb149a682f2abfa0e" - dependencies: - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-escapes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -ansi-styles@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -append-transform@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" - dependencies: - default-require-extensions "^1.0.0" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - -array-flatten@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" - -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.2.tgz#5fcc373920775723cfd64d65c64bef53bf9eba6d" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - -arrify@^1.0.0, arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - dependencies: - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - -async@^1.4.0, async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - -async@^2.1.2, async@^2.1.4, async@^2.4.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" - dependencies: - lodash "^4.14.0" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -atob@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" - -autoprefixer@^6.3.1: - version "6.7.7" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" - dependencies: - browserslist "^1.7.6" - caniuse-db "^1.0.30000634" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^5.2.16" - postcss-value-parser "^3.2.3" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.2.1, aws4@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-core@^6.0.0, babel-core@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.0" - debug "^2.6.8" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.7" - slash "^1.0.0" - source-map "^0.5.6" - -babel-generator@^6.18.0, babel-generator@^6.26.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" - dependencies: - babel-helper-explode-assignable-expression "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-builder-react-jsx@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - esutils "^2.0.2" - -babel-helper-call-delegate@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-define-map@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-explode-assignable-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" - dependencies: - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-get-function-arity@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-optimise-call-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-regex@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-remap-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-replace-supers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" - dependencies: - babel-helper-optimise-call-expression "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-jest@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.0.tgz#79479739c87a39327383bb944a0a8a2deb5c9b4d" - dependencies: - babel-plugin-istanbul "^4.1.5" - babel-preset-jest "^22.2.0" - -babel-loader@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" - dependencies: - find-cache-dir "^1.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-check-es2015-constants@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-istanbul@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" - dependencies: - find-up "^2.1.0" - istanbul-lib-instrument "^1.7.5" - test-exclude "^4.1.1" - -babel-plugin-jest-hoist@^22.2.0: - version "22.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.2.0.tgz#bd34f39d652406669713b8c89e23ef25c890b993" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - -babel-plugin-syntax-flow@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" - -babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" - -babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - -babel-plugin-syntax-trailing-function-commas@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - -babel-plugin-transform-async-to-generator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-arrow-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.23.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" - dependencies: - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-plugin-transform-es2015-classes@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" - dependencies: - babel-helper-define-map "^6.24.1" - babel-helper-function-name "^6.24.1" - babel-helper-optimise-call-expression "^6.24.1" - babel-helper-replace-supers "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-computed-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-destructuring@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-for-of@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-umd@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-object-super@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" - dependencies: - babel-helper-replace-supers "^6.24.1" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" - dependencies: - babel-helper-call-delegate "^6.24.1" - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-shorthand-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-spread@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-template-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-unicode-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-flow-strip-types@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" - dependencies: - babel-plugin-syntax-flow "^6.18.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-object-rest-spread@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.26.0" - -babel-plugin-transform-react-display-name@^6.23.0: - version "6.25.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx-self@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" - dependencies: - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx-source@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" - dependencies: - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" - dependencies: - babel-helper-builder-react-jsx "^6.24.1" - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-regenerator@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" - dependencies: - regenerator-transform "^0.10.0" - -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-preset-env@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48" - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.23.0" - babel-plugin-transform-es2015-classes "^6.23.0" - babel-plugin-transform-es2015-computed-properties "^6.22.0" - babel-plugin-transform-es2015-destructuring "^6.23.0" - babel-plugin-transform-es2015-duplicate-keys "^6.22.0" - babel-plugin-transform-es2015-for-of "^6.23.0" - babel-plugin-transform-es2015-function-name "^6.22.0" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-plugin-transform-es2015-modules-commonjs "^6.23.0" - babel-plugin-transform-es2015-modules-systemjs "^6.23.0" - babel-plugin-transform-es2015-modules-umd "^6.23.0" - babel-plugin-transform-es2015-object-super "^6.22.0" - babel-plugin-transform-es2015-parameters "^6.23.0" - babel-plugin-transform-es2015-shorthand-properties "^6.22.0" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.22.0" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.23.0" - babel-plugin-transform-es2015-unicode-regex "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" - babel-plugin-transform-regenerator "^6.22.0" - browserslist "^2.1.2" - invariant "^2.2.2" - semver "^5.3.0" - -babel-preset-flow@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" - dependencies: - babel-plugin-transform-flow-strip-types "^6.22.0" - -babel-preset-jest@^22.2.0: - version "22.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.2.0.tgz#f77b43f06ef4d8547214b2e206cc76a25c3ba0e2" - dependencies: - babel-plugin-jest-hoist "^22.2.0" - babel-plugin-syntax-object-rest-spread "^6.13.0" - -babel-preset-react@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" - dependencies: - babel-plugin-syntax-jsx "^6.3.13" - babel-plugin-transform-react-display-name "^6.23.0" - babel-plugin-transform-react-jsx "^6.24.1" - babel-plugin-transform-react-jsx-self "^6.22.0" - babel-plugin-transform-react-jsx-source "^6.22.0" - babel-preset-flow "^6.23.0" - -babel-register@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" - -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.15.0, babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - -balanced-match@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-js@^1.0.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.3.tgz#fb13668233d9614cf5fb4bce95a9ba4096cdf801" - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - dependencies: - 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" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - -binary-extensions@^1.0.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" - -bit-twiddle@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bit-twiddle/-/bit-twiddle-1.0.2.tgz#0c6c1fabe2b23d17173d9a61b7b7093eb9e1769e" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -bluebird@^3.4.7, bluebird@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - -body-parser@1.18.2: - version "1.18.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" - dependencies: - bytes "3.0.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.1" - http-errors "~1.6.2" - iconv-lite "0.4.19" - on-finished "~2.3.0" - qs "6.5.1" - raw-body "2.3.2" - type-is "~1.6.15" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -boom@4.x.x: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -braces@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb" - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - define-property "^1.0.0" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - kind-of "^6.0.2" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -brfs@^1.4.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/brfs/-/brfs-1.4.4.tgz#fc316bc4880180fa8ee25bcaab65f86910ce1dd5" - dependencies: - quote-stream "^1.0.1" - resolve "^1.1.5" - static-module "^2.1.1" - through2 "^2.0.0" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - -browser-process-hrtime@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" - -browser-resolve@^1.11.2: - version "1.11.2" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f" - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - -browserify-package-json@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-package-json/-/browserify-package-json-1.0.1.tgz#98dde8aa5c561fd6d3fe49bbaa102b74b396fdea" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - dependencies: - pako "~1.0.5" - -browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: - version "1.7.7" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" - dependencies: - caniuse-db "^1.0.30000639" - electron-to-chromium "^1.2.7" - -browserslist@^2.1.2: - version "2.11.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" - dependencies: - caniuse-lite "^1.0.30000792" - electron-to-chromium "^1.3.30" - -bser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" - dependencies: - node-int64 "^0.4.0" - -buble@^0.15.1: - version "0.15.2" - resolved "https://registry.yarnpkg.com/buble/-/buble-0.15.2.tgz#547fc47483f8e5e8176d82aa5ebccb183b02d613" - dependencies: - acorn "^3.3.0" - acorn-jsx "^3.0.1" - acorn-object-spread "^1.0.0" - chalk "^1.1.3" - magic-string "^0.14.0" - minimist "^1.2.0" - os-homedir "^1.0.1" - -bubleify@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/bubleify/-/bubleify-0.7.0.tgz#d08ea642ffd085ff8711c8843f57072f0d5eb8f6" - dependencies: - buble "^0.15.1" - object-assign "^4.0.1" - -buffer-equal@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - -cacache@^10.0.1: - version "10.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" - dependencies: - bluebird "^3.5.1" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^2.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^5.2.4" - unique-filename "^1.1.0" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - dependencies: - 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" - -call-matcher@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" - dependencies: - core-js "^2.0.0" - deep-equal "^1.0.0" - espurify "^1.6.0" - estraverse "^4.0.0" - -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - dependencies: - callsites "^0.2.0" - -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - -camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - -caniuse-api@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" - dependencies: - browserslist "^1.3.6" - caniuse-db "^1.0.30000529" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000809" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000809.tgz#b0b88434a598f40b546d46a4dbd839b0ff798f4d" - -caniuse-lite@^1.0.30000792: - version "1.0.30000809" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000809.tgz#1e12c1344b8f74d56737ee2614bcedb648943479" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" - dependencies: - ansi-styles "^3.2.0" - escape-string-regexp "^1.0.5" - supports-color "^5.2.0" - -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" - -chokidar@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chokidar@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.2.tgz#4dc65139eeb2714977735b6a35d06e97b494dfd7" - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chownr@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" - -ci-info@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -circular-json@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - -clap@^1.0.9: - version "1.2.3" - resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" - dependencies: - chalk "^1.1.3" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -classnames@^2.2.3: - version "2.2.5" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" - -clean-css@4.1.x: - version "4.1.9" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.9.tgz#35cee8ae7687a49b98034f70de00c4edd3826301" - dependencies: - source-map "0.5.x" - -clean-webpack-plugin@^0.1.18: - version "0.1.18" - resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.18.tgz#2e2173897c76646031bff047c14b9c22c80d8c4a" - dependencies: - rimraf "^2.6.1" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - dependencies: - restore-cursor "^2.0.0" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -cliui@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -clone@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -coa@~1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" - dependencies: - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.3.0, color-convert@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" - dependencies: - color-name "^1.1.1" - -color-name@^1.0.0, color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -color-string@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" - dependencies: - color-name "^1.0.0" - -color@^0.11.0: - version "0.11.4" - resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" - dependencies: - clone "^1.0.2" - color-convert "^1.3.0" - color-string "^0.3.0" - -colormin@^1.0.5: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" - dependencies: - color "^0.11.0" - css-color-names "0.0.4" - has "^1.0.1" - -colors@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" - -combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" - dependencies: - delayed-stream "~1.0.0" - -commander@2, commander@2.14.x, commander@~2.14.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" - -commander@~2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - -component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - -compressible@~2.0.11: - version "2.0.13" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.13.tgz#0d1020ab924b2fdb4d6279875c7d6daba6baa7a9" - dependencies: - mime-db ">= 1.33.0 < 2" - -compression@^1.5.2: - version "1.7.1" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.1.tgz#eff2603efc2e22cf86f35d2eb93589f9875373db" - dependencies: - accepts "~1.3.4" - bytes "3.0.0" - compressible "~2.0.11" - debug "2.6.9" - on-headers "~1.0.1" - safe-buffer "5.1.1" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@^1.5.0, concat-stream@^1.6.0, concat-stream@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concaveman@*: - version "1.1.1" - resolved "https://registry.yarnpkg.com/concaveman/-/concaveman-1.1.1.tgz#6c2482580b2523cef82fc2bec00a0415e6e68162" - dependencies: - monotone-convex-hull-2d "^1.0.1" - point-in-polygon "^1.0.1" - rbush "^2.0.1" - robust-orientation "^1.1.3" - tinyqueue "^1.1.0" - -connect-history-api-fallback@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" - -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - -content-type-parser@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.2.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - -convert-source-map@^1.1.1, convert-source-map@^1.4.0, convert-source-map@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" - -convex-hull@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/convex-hull/-/convex-hull-1.0.3.tgz#20a3aa6ce87f4adea2ff7d17971c9fc1c67e1fff" - dependencies: - affine-hull "^1.0.0" - incremental-convex-hull "^1.0.1" - monotone-convex-hull-2d "^1.0.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - -copy-webpack-plugin@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.4.1.tgz#1e8c366211db6dc2ddee40e5a3e4fc661dd149e8" - dependencies: - cacache "^10.0.1" - find-cache-dir "^1.0.0" - globby "^7.1.1" - is-glob "^4.0.0" - loader-utils "^0.2.15" - minimatch "^3.0.4" - p-limit "^1.0.0" - serialize-javascript "^1.4.0" - -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - -core-js@^2.0.0, core-js@^2.4.0, core-js@^2.5.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -create-ecdh@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - ripemd160 "^2.0.0" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.6" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^5.0.1, cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-color-names@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - -css-loader@^0.28.9: - version "0.28.9" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.9.tgz#68064b85f4e271d7ce4c48a58300928e535d1c95" - dependencies: - babel-code-frame "^6.26.0" - css-selector-tokenizer "^0.7.0" - cssnano "^3.10.0" - icss-utils "^2.1.0" - loader-utils "^1.0.2" - lodash.camelcase "^4.3.0" - object-assign "^4.1.1" - postcss "^5.0.6" - postcss-modules-extract-imports "^1.2.0" - postcss-modules-local-by-default "^1.2.0" - postcss-modules-scope "^1.1.0" - postcss-modules-values "^1.3.0" - postcss-value-parser "^3.3.0" - source-list-map "^2.0.0" - -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-selector-tokenizer@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - -css-what@2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" - -csscolorparser@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b" - -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - -cssnano@^3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" - dependencies: - autoprefixer "^6.3.1" - decamelize "^1.1.2" - defined "^1.0.0" - has "^1.0.1" - object-assign "^4.0.1" - postcss "^5.0.14" - postcss-calc "^5.2.0" - postcss-colormin "^2.1.8" - postcss-convert-values "^2.3.4" - postcss-discard-comments "^2.0.4" - postcss-discard-duplicates "^2.0.1" - postcss-discard-empty "^2.0.1" - postcss-discard-overridden "^0.1.1" - postcss-discard-unused "^2.2.1" - postcss-filter-plugins "^2.0.0" - postcss-merge-idents "^2.1.5" - postcss-merge-longhand "^2.0.1" - postcss-merge-rules "^2.0.3" - postcss-minify-font-values "^1.0.2" - postcss-minify-gradients "^1.0.1" - postcss-minify-params "^1.0.4" - postcss-minify-selectors "^2.0.4" - postcss-normalize-charset "^1.1.0" - postcss-normalize-url "^3.0.7" - postcss-ordered-values "^2.1.0" - postcss-reduce-idents "^2.2.2" - postcss-reduce-initial "^1.0.0" - postcss-reduce-transforms "^1.0.3" - postcss-svgo "^2.1.1" - postcss-unique-selectors "^2.0.2" - postcss-value-parser "^3.2.3" - postcss-zindex "^2.0.1" - -csso@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" - dependencies: - clap "^1.0.9" - source-map "^0.5.3" - -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" - -"cssstyle@>= 0.2.37 < 0.3.0": - version "0.2.37" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" - dependencies: - cssom "0.3.x" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - -d3-array@1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc" - -d3-geo@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.7.1.tgz#44bbc7a218b1fd859f3d8fd7c443ca836569ce99" - dependencies: - d3-array "1" - -d3-voronoi@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c" - -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" - -debug@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - -deep-equal@^1.0.0, deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -default-require-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" - dependencies: - strip-bom "^2.0.0" - -define-properties@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" - dependencies: - foreach "^2.0.5" - object-keys "^1.0.8" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - dependencies: - is-descriptor "^1.0.0" - -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - -del@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -density-clustering@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/density-clustering/-/density-clustering-1.3.0.tgz#dc9f59c8f0ab97e1624ac64930fd3194817dcac5" - -depd@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" - -depd@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - -detect-node@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" - -diff@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c" - -diffie-hellman@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - -dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - dependencies: - buffer-indexof "^1.0.0" - -doctrine@^2.0.2, doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - dependencies: - esutils "^2.0.2" - -dom-converter@~0.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" - dependencies: - utila "~0.3" - -dom-serializer@0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" - dependencies: - domelementtype "~1.1.1" - entities "~1.1.1" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - -domelementtype@1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" - -domelementtype@~1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" - -domexception@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - dependencies: - webidl-conversions "^4.0.2" - -domhandler@2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" - dependencies: - domelementtype "1" - -domutils@1.1: - version "1.1.6" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" - dependencies: - domelementtype "1" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - dependencies: - dom-serializer "0" - domelementtype "1" - -duplexer2@~0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - dependencies: - readable-stream "^2.0.2" - -duplexify@^3.4.2, duplexify@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.3.tgz#8b5818800df92fd0125b27ab896491912858243e" - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -earcut@^2.0.0, earcut@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.1.3.tgz#ca579545f351941af7c3d0df49c9f7d34af99b0c" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - -electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30: - version "1.3.33" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz#bf00703d62a7c65238136578c352d6c5c042a545" - -elliptic@^6.0.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - -encodeurl@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - dependencies: - iconv-lite "~0.4.13" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - dependencies: - once "^1.4.0" - -enhanced-resolve@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - object-assign "^4.0.1" - tapable "^0.2.7" - -entities@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" - -errno@^0.1.3, errno@^0.1.4: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.5.1, es-abstract@^1.7.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.1" - has "^1.0.1" - is-callable "^1.1.3" - is-regex "^1.0.4" - -es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" - dependencies: - is-callable "^1.1.1" - is-date-object "^1.0.1" - is-symbol "^1.0.1" - -es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.39" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.39.tgz#fca21b67559277ca4ac1a1ed7048b107b6f76d87" - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - -es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escodegen@^1.6.1, escodegen@^1.8.1, escodegen@^1.9.0, escodegen@~1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.5.6" - -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-loader@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.9.0.tgz#7e1be9feddca328d3dcfaef1ad49d5beffe83a13" - dependencies: - loader-fs-cache "^1.0.0" - loader-utils "^1.0.2" - object-assign "^4.0.1" - object-hash "^1.1.4" - rimraf "^2.6.1" - -eslint-plugin-react@^7.7.0: - version "7.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz#f606c719dbd8a1a2b3d25c16299813878cca0160" - dependencies: - doctrine "^2.0.2" - has "^1.0.1" - jsx-ast-utils "^2.0.1" - prop-types "^15.6.0" - -eslint-scope@^3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-visitor-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - -eslint@^4.18.1: - version "4.18.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.18.1.tgz#b9138440cb1e98b2f44a0d578c6ecf8eae6150b0" - dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" - chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^3.1.0" - doctrine "^2.1.0" - eslint-scope "^3.7.1" - eslint-visitor-keys "^1.0.0" - espree "^3.5.2" - esquery "^1.0.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" - imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - pluralize "^7.0.0" - progress "^2.0.0" - require-uncached "^1.0.3" - semver "^5.3.0" - strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "^4.0.1" - text-table "~0.2.0" - -espree@^3.5.2: - version "3.5.3" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.3.tgz#931e0af64e7fbbed26b050a29daad1fc64799fa6" - dependencies: - acorn "^5.4.0" - acorn-jsx "^3.0.0" - -esprima@^2.6.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - -esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - -espurify@^1.3.0, espurify@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226" - dependencies: - core-js "^2.0.0" - -esquery@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" - dependencies: - estraverse "^4.0.0" - -esrecurse@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" - dependencies: - estraverse "^4.1.0" - object-assign "^4.0.1" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - -eventemitter3@1.x.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" - -events@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -eventsource@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" - dependencies: - original ">=0.0.5" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" - dependencies: - merge "^1.1.3" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.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@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - dependencies: - 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" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -expect@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.0.tgz#371edf1ae15b83b5bf5ec34b42f1584660a36c16" - dependencies: - ansi-styles "^3.2.0" - jest-diff "^22.4.0" - jest-get-type "^22.1.0" - jest-matcher-utils "^22.4.0" - jest-message-util "^22.4.0" - jest-regex-util "^22.1.0" - -express@^4.16.2: - version "4.16.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" - dependencies: - accepts "~1.3.4" - array-flatten "1.1.1" - body-parser "1.18.2" - content-disposition "0.5.2" - content-type "~1.0.4" - cookie "0.3.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.1" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.1.0" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.2" - path-to-regexp "0.1.7" - proxy-addr "~2.0.2" - qs "6.5.1" - range-parser "~1.2.0" - safe-buffer "5.1.1" - send "0.16.1" - serve-static "1.13.1" - setprototypeof "1.1.0" - statuses "~1.3.1" - type-is "~1.6.15" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -external-editor@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" - dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" - tmp "^0.0.33" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -extglob@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - dependencies: - 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" - -extract-text-webpack-plugin@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7" - dependencies: - async "^2.4.1" - loader-utils "^1.1.0" - schema-utils "^0.3.0" - webpack-sources "^1.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - -falafel@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.1.0.tgz#96bb17761daba94f46d001738b3cedf3a67fe06c" - dependencies: - acorn "^5.0.0" - foreach "^2.0.5" - isarray "0.0.1" - object-keys "^1.0.6" - -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - -fastparse@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - dependencies: - bser "^2.0.0" - -fbjs@^0.8.16, fbjs@^0.8.4: - version "0.8.16" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.9" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -file-loader@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.9.tgz#cf152aedbcfb3d67038d0845efb7cf11a96e53de" - dependencies: - loader-utils "^1.0.2" - schema-utils "^0.4.5" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - -fileset@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -finalhandler@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" - dependencies: - debug "2.6.9" - encodeurl "~1.0.1" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.3.1" - unpipe "~1.0.0" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^2.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - -flat-cache@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" - dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" - -flatten@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" - -flow-remove-types@^1.1.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/flow-remove-types/-/flow-remove-types-1.2.3.tgz#6131aefc7da43364bb8b479758c9dec7735d1a18" - dependencies: - babylon "^6.15.0" - vlq "^0.2.1" - -flush-write-stream@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.2.tgz#c81b90d8746766f1a609a46809946c45dd8ae417" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.4" - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -form-data@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" - dependencies: - asynckit "^0.4.0" - combined-stream "1.0.6" - mime-types "^2.1.12" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.0.0, fsevents@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.39" - -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.0.2, function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - dependencies: - 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" - -geojson-area@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/geojson-area/-/geojson-area-0.2.1.tgz#2537b0982db86309f21d2c428a4257c7a6282cc6" - dependencies: - wgs84 "0.0.0" - -geojson-equality@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/geojson-equality/-/geojson-equality-0.1.6.tgz#a171374ef043e5d4797995840bae4648e0752d72" - dependencies: - deep-equal "^1.0.0" - -geojson-normalize@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/geojson-normalize/-/geojson-normalize-0.0.0.tgz#2dbc3678cd1b31b8179e876bda70cd120dde35c0" - -geojson-random@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/geojson-random/-/geojson-random-0.2.2.tgz#ab4838f126adc5e16f8f94e655def820f9119dbc" - -geojson-rbush@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/geojson-rbush/-/geojson-rbush-2.1.0.tgz#3bd73be391fc10b0ae693d9b8acea2aae0b83a8d" - dependencies: - "@turf/helpers" "*" - "@turf/meta" "*" - rbush "*" - -geojson-rewind@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/geojson-rewind/-/geojson-rewind-0.3.0.tgz#d5c35025fa708910e2da1a97fc23a2e2478a876a" - dependencies: - "@mapbox/geojson-area" "0.2.2" - concat-stream "~1.6.0" - minimist "1.2.0" - -geojson-vt@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/geojson-vt/-/geojson-vt-3.0.0.tgz#a24cae5488ab4897e86ca0e4bf0d9760d628ae0a" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-closest@*: - version "0.0.4" - resolved "https://registry.yarnpkg.com/get-closest/-/get-closest-0.0.4.tgz#269ac776d1e6022aa0fd586dd708e8a7d32269af" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - 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" - -globals@^11.0.1: - version "11.3.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.3.0.tgz#e04fdb7b9796d8adac9c8f64c14837b2313378b0" - -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -gray-matter@^3.0.8: - version "3.1.1" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-3.1.1.tgz#101f80d9e69eeca6765cdce437705b18f40876ac" - dependencies: - extend-shallow "^2.0.1" - js-yaml "^3.10.0" - kind-of "^5.0.2" - strip-bom-string "^1.0.0" - -grid-index@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grid-index/-/grid-index-1.0.0.tgz#ad2c5d54ce5b35437faff1d70a9aeb3d1d261110" - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - -handle-thing@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" - -handlebars@^4.0.3: - version "4.0.11" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" - dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" - dependencies: - function-bind "^1.0.2" - -hash-base@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" - dependencies: - inherits "^2.0.1" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.0" - -hawk@3.1.3, hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" - -he@1.1.x: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - -history@^4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz#22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b" - dependencies: - invariant "^2.2.1" - loose-envify "^1.2.0" - resolve-pathname "^2.2.0" - value-equal "^0.4.0" - warning "^3.0.0" - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - -hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz#d2ca2dfc19c5a91c5a6615ce8e564ef0347e2a40" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-comment-regex@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - dependencies: - whatwg-encoding "^1.0.1" - -html-entities@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - -html-minifier@^3.2.3: - version "3.5.9" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.9.tgz#74424014b872598d4bb0e20ac420926ec61024b6" - dependencies: - camel-case "3.0.x" - clean-css "4.1.x" - commander "2.14.x" - he "1.1.x" - ncname "1.0.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.3.x" - -html-webpack-plugin@^2.30.1: - version "2.30.1" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5" - dependencies: - bluebird "^3.4.7" - html-minifier "^3.2.3" - loader-utils "^0.2.16" - lodash "^4.17.3" - pretty-error "^2.0.2" - toposort "^1.0.0" - -htmlparser2@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" - dependencies: - domelementtype "1" - domhandler "2.1" - domutils "1.1" - readable-stream "1.0" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - -http-errors@1.6.2, http-errors@~1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" - dependencies: - depd "1.1.1" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - -http-parser-js@>=0.4.0: - version "0.4.10" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" - -http-proxy-middleware@~0.17.4: - version "0.17.4" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833" - dependencies: - http-proxy "^1.16.2" - is-glob "^3.1.0" - lodash "^4.17.2" - micromatch "^2.3.11" - -http-proxy@^1.16.2: - version "1.16.2" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" - dependencies: - eventemitter3 "1.x.x" - requires-port "1.x.x" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - -iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" - -icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - -icss-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" - dependencies: - postcss "^6.0.1" - -ieee754@^1.1.4, ieee754@^1.1.6: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - -ignore@^3.3.3, ignore@^3.3.5: - version "3.3.7" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" - -import-local@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" - dependencies: - pkg-dir "^2.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -incremental-convex-hull@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/incremental-convex-hull/-/incremental-convex-hull-1.0.1.tgz#51428c14cb9d9a6144bfe69b2851fb377334be1e" - dependencies: - robust-orientation "^1.1.2" - simplicial-complex "^1.0.0" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - -ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - -inquirer@^3.0.6: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - -internal-ip@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" - dependencies: - meow "^3.3.0" - -interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - -invariant@^2.0.0, invariant@^2.2.1, invariant@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - -ipaddr.js@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" - -is-ci@^1.0.10: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" - dependencies: - ci-info "^1.0.0" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - dependencies: - is-extglob "^2.1.1" - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" - -is-odd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-1.0.0.tgz#3b8a932eb028b3775c39bb09e91767accdb69088" - dependencies: - is-number "^3.0.0" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - dependencies: - path-is-inside "^1.0.1" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - dependencies: - isobject "^3.0.1" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - dependencies: - has "^1.0.1" - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - -is-stream@^1.0.1, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-svg@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - -isomorphic-fetch@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -istanbul-api@^1.1.14: - version "1.2.2" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.2.2.tgz#e17cd519dd5ec4141197f246fdf380b75487f3b1" - dependencies: - async "^2.1.4" - fileset "^2.0.2" - istanbul-lib-coverage "^1.1.2" - istanbul-lib-hook "^1.1.0" - istanbul-lib-instrument "^1.9.2" - istanbul-lib-report "^1.1.3" - istanbul-lib-source-maps "^1.2.3" - istanbul-reports "^1.1.4" - js-yaml "^3.7.0" - mkdirp "^0.5.1" - once "^1.4.0" - -istanbul-lib-coverage@^1.1.1, istanbul-lib-coverage@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz#4113c8ff6b7a40a1ef7350b01016331f63afde14" - -istanbul-lib-hook@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz#8538d970372cb3716d53e55523dd54b557a8d89b" - dependencies: - append-transform "^0.4.0" - -istanbul-lib-instrument@^1.7.5, istanbul-lib-instrument@^1.8.0, istanbul-lib-instrument@^1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz#84905bf47f7e0b401d6b840da7bad67086b4aab6" - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.1.2" - semver "^5.3.0" - -istanbul-lib-report@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz#2df12188c0fa77990c0d2176d2d0ba3394188259" - dependencies: - istanbul-lib-coverage "^1.1.2" - mkdirp "^0.5.1" - path-parse "^1.0.5" - supports-color "^3.1.2" - -istanbul-lib-source-maps@^1.2.1, istanbul-lib-source-maps@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz#20fb54b14e14b3fb6edb6aca3571fd2143db44e6" - dependencies: - debug "^3.1.0" - istanbul-lib-coverage "^1.1.2" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" - -istanbul-reports@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.4.tgz#5ccba5e22b7b5a5d91d5e0a830f89be334bf97bd" - dependencies: - handlebars "^4.0.3" - -jest-changed-files@^22.2.0: - version "22.2.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.2.0.tgz#517610c4a8ca0925bdc88b0ca53bd678aa8d019e" - dependencies: - throat "^4.0.0" - -jest-cli@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.0.tgz#234d6175166e87ecab40c6e5a4f7b3f6a4cd4257" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.1.11" - import-local "^1.0.0" - is-ci "^1.0.10" - istanbul-api "^1.1.14" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-instrument "^1.8.0" - istanbul-lib-source-maps "^1.2.1" - jest-changed-files "^22.2.0" - jest-config "^22.4.0" - jest-environment-jsdom "^22.4.0" - jest-get-type "^22.1.0" - jest-haste-map "^22.4.0" - jest-message-util "^22.4.0" - jest-regex-util "^22.1.0" - jest-resolve-dependencies "^22.1.0" - jest-runner "^22.4.0" - jest-runtime "^22.4.0" - jest-snapshot "^22.4.0" - jest-util "^22.4.0" - jest-validate "^22.4.0" - jest-worker "^22.2.2" - micromatch "^2.3.11" - node-notifier "^5.2.1" - realpath-native "^1.0.0" - rimraf "^2.5.4" - slash "^1.0.0" - string-length "^2.0.0" - strip-ansi "^4.0.0" - which "^1.2.12" - yargs "^10.0.3" - -jest-config@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.0.tgz#34ab50ff52e68a3b0f2dd5df91bfd9b8cf2aa474" - dependencies: - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^22.4.0" - jest-environment-node "^22.4.0" - jest-get-type "^22.1.0" - jest-jasmine2 "^22.4.0" - jest-regex-util "^22.1.0" - jest-resolve "^22.4.0" - jest-util "^22.4.0" - jest-validate "^22.4.0" - pretty-format "^22.4.0" - -jest-diff@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.0.tgz#384c2b78519ca44ca126382df53f134289232525" - dependencies: - chalk "^2.0.1" - diff "^3.2.0" - jest-get-type "^22.1.0" - pretty-format "^22.4.0" - -jest-docblock@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.0.tgz#dbf1877e2550070cfc4d9b07a55775a0483159b8" - dependencies: - detect-newline "^2.1.0" - -jest-environment-jsdom@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.0.tgz#09df84a1faf1ca47096aafc89411a095378f628e" - dependencies: - jest-mock "^22.2.0" - jest-util "^22.4.0" - jsdom "^11.5.1" - -jest-environment-node@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.0.tgz#b6d9458275053028d4b1658851c3475ab22dfb56" - dependencies: - jest-mock "^22.2.0" - jest-util "^22.4.0" - -jest-get-type@^22.1.0: - version "22.1.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.1.0.tgz#4e90af298ed6181edc85d2da500dbd2753e0d5a9" - -jest-haste-map@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.0.tgz#7a2cadb32ce1fe9352a57841437b000f1624f14d" - dependencies: - fb-watchman "^2.0.0" - graceful-fs "^4.1.11" - jest-docblock "^22.4.0" - jest-serializer "^22.4.0" - jest-worker "^22.2.2" - micromatch "^2.3.11" - sane "^2.0.0" - -jest-jasmine2@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.0.tgz#1d9b607ede12a600ecadda2c8d89918d7d3c4d26" - dependencies: - callsites "^2.0.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^22.4.0" - graceful-fs "^4.1.11" - is-generator-fn "^1.0.0" - jest-diff "^22.4.0" - jest-matcher-utils "^22.4.0" - jest-message-util "^22.4.0" - jest-snapshot "^22.4.0" - source-map-support "^0.5.0" - -jest-leak-detector@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.0.tgz#64da77f05b001c96d2062226e079f89989c4aa2f" - dependencies: - pretty-format "^22.4.0" - -jest-matcher-utils@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.0.tgz#d55f5faf2270462736bdf7c7485ee931c9d4b6a1" - dependencies: - chalk "^2.0.1" - jest-get-type "^22.1.0" - pretty-format "^22.4.0" - -jest-message-util@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.0.tgz#e3d861df16d2fee60cb2bc8feac2188a42579642" - dependencies: - "@babel/code-frame" "^7.0.0-beta.35" - chalk "^2.0.1" - micromatch "^2.3.11" - slash "^1.0.0" - stack-utils "^1.0.1" - -jest-mock@^22.2.0: - version "22.2.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.2.0.tgz#444b3f9488a7473adae09bc8a77294afded397a7" - -jest-regex-util@^22.1.0: - version "22.1.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.1.0.tgz#5daf2fe270074b6da63e5d85f1c9acc866768f53" - -jest-resolve-dependencies@^22.1.0: - version "22.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.1.0.tgz#340e4139fb13315cd43abc054e6c06136be51e31" - dependencies: - jest-regex-util "^22.1.0" - -jest-resolve@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.0.tgz#c3550280d77c47c2885809e7dc8e42560f0b3e71" - dependencies: - browser-resolve "^1.11.2" - chalk "^2.0.1" - -jest-runner@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.0.tgz#2509b82834ab4aa7e984ff464626397c556177a7" - dependencies: - exit "^0.1.2" - jest-config "^22.4.0" - jest-docblock "^22.4.0" - jest-haste-map "^22.4.0" - jest-jasmine2 "^22.4.0" - jest-leak-detector "^22.4.0" - jest-message-util "^22.4.0" - jest-runtime "^22.4.0" - jest-util "^22.4.0" - jest-worker "^22.2.2" - throat "^4.0.0" - -jest-runtime@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.0.tgz#a4e3e3709a2289725790ed51ca41526a5700ddc4" - dependencies: - babel-core "^6.0.0" - babel-jest "^22.4.0" - babel-plugin-istanbul "^4.1.5" - chalk "^2.0.1" - convert-source-map "^1.4.0" - exit "^0.1.2" - graceful-fs "^4.1.11" - jest-config "^22.4.0" - jest-haste-map "^22.4.0" - jest-regex-util "^22.1.0" - jest-resolve "^22.4.0" - jest-util "^22.4.0" - jest-validate "^22.4.0" - json-stable-stringify "^1.0.1" - micromatch "^2.3.11" - realpath-native "^1.0.0" - slash "^1.0.0" - strip-bom "3.0.0" - write-file-atomic "^2.1.0" - yargs "^10.0.3" - -jest-serializer@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.0.tgz#b5d145b98c4b0d2c20ab686609adbb81fe23b566" - -jest-snapshot@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.0.tgz#03d3ce63f8fa7352388afc6a3c8b5ccc3a180ed7" - dependencies: - chalk "^2.0.1" - jest-diff "^22.4.0" - jest-matcher-utils "^22.4.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^22.4.0" - -jest-util@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.0.tgz#ebdc147548d613c5faf7c7534051f59740c98ada" - dependencies: - callsites "^2.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.11" - is-ci "^1.0.10" - jest-message-util "^22.4.0" - mkdirp "^0.5.1" - -jest-validate@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.0.tgz#8bcbeaf7ac6893c90446daf0d9382b6de0651799" - dependencies: - chalk "^2.0.1" - jest-config "^22.4.0" - jest-get-type "^22.1.0" - leven "^2.1.0" - pretty-format "^22.4.0" - -jest-worker@^22.2.2: - version "22.2.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.2.2.tgz#c1f5dc39976884b81f68ec50cb8532b2cbab3390" - dependencies: - merge-stream "^1.0.1" - -jest@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.0.tgz#476e2c08c6c2a6dbb5cfec520b8bf1cd4c99afd7" - dependencies: - import-local "^1.0.0" - jest-cli "^22.4.0" - -js-base64@^2.1.9: - version "2.4.3" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582" - -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - -js-yaml@^3.10.0, js-yaml@^3.7.0, js-yaml@^3.9.1: - version "3.10.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@~3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" - dependencies: - argparse "^1.0.7" - esprima "^2.6.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jsdom@^11.5.1: - version "11.6.2" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.6.2.tgz#25d1ef332d48adf77fc5221fe2619967923f16bb" - dependencies: - abab "^1.0.4" - acorn "^5.3.0" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - browser-process-hrtime "^0.1.2" - content-type-parser "^1.0.2" - cssom ">= 0.3.2 < 0.4.0" - cssstyle ">= 0.2.37 < 0.3.0" - domexception "^1.0.0" - escodegen "^1.9.0" - html-encoding-sniffer "^1.0.2" - left-pad "^1.2.0" - nwmatcher "^1.4.3" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.83.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.3" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-url "^6.4.0" - ws "^4.0.0" - xml-name-validator "^3.0.0" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - -json-loader@^0.5.4: - version "0.5.7" - resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -json3@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - -json5@^0.5.0, json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsonlint-lines-primitives@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/jsonlint-lines-primitives/-/jsonlint-lines-primitives-1.6.0.tgz#bb89f60c8b9b612fd913ddaa236649b840d86611" - dependencies: - JSV ">= 4.0.x" - nomnom ">= 1.5.x" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -jsts@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/jsts/-/jsts-1.1.2.tgz#d205d2cc8393081d9e484ae36282110695edc230" - -jsx-ast-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" - dependencies: - array-includes "^3.0.3" - -kdbush@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/kdbush/-/kdbush-1.0.1.tgz#3cbd03e9dead9c0f6f66ccdb96450e5cecc640e0" - -killable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0, kind-of@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -lazy-cache@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" - dependencies: - set-getter "^0.1.0" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -left-pad@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" - -leven@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lineclip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/lineclip/-/lineclip-1.1.5.tgz#2bf26067d94354feabf91e42768236db5616fd13" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -loader-fs-cache@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc" - dependencies: - find-cache-dir "^0.1.1" - mkdirp "0.5.1" - -loader-runner@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" - -loader-utils@^0.2.15, loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - -loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lodash-es@^4.17.4, lodash-es@^4.17.5, lodash-es@^4.2.1: - version "4.17.5" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.5.tgz#9fc6e737b1c4d151d8f9cae2247305d552ce748f" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - -lodash.debounce@^4.0.6: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - -lodash.endswith@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" - -lodash.isfunction@^3.0.8: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - -lodash.startswith@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.startswith/-/lodash.startswith-4.2.1.tgz#c598c4adce188a27e53145731cdc6c0e7177600c" - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - -lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0: - version "4.17.5" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" - -loglevel@^1.4.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" - dependencies: - js-tokens "^3.0.0" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - -lru-cache@^4.0.1, lru-cache@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -macaddress@^0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" - -magic-string@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.14.0.tgz#57224aef1701caeed273b17a39a956e72b172462" - dependencies: - vlq "^0.2.1" - -make-dir@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" - dependencies: - pify "^3.0.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - dependencies: - object-visit "^1.0.0" - -mapbox-gl@^0.44.1: - version "0.44.1" - resolved "https://registry.yarnpkg.com/mapbox-gl/-/mapbox-gl-0.44.1.tgz#bd4964f71a937c0eca4cc8b00330f2bfcbddc37c" - dependencies: - "@mapbox/gl-matrix" "^0.0.1" - "@mapbox/mapbox-gl-supported" "^1.3.0" - "@mapbox/point-geometry" "^0.1.0" - "@mapbox/shelf-pack" "^3.1.0" - "@mapbox/tiny-sdf" "^1.1.0" - "@mapbox/unitbezier" "^0.0.0" - "@mapbox/vector-tile" "^1.3.0" - "@mapbox/whoots-js" "^3.0.0" - brfs "^1.4.0" - bubleify "^0.7.0" - csscolorparser "~1.0.2" - earcut "^2.1.3" - geojson-rewind "^0.3.0" - geojson-vt "^3.0.0" - gray-matter "^3.0.8" - grid-index "^1.0.0" - jsonlint-lines-primitives "~1.6.0" - minimist "0.0.8" - package-json-versionify "^1.0.2" - pbf "^3.0.5" - quickselect "^1.0.0" - rw "^1.3.3" - shuffle-seed "^1.1.6" - sort-object "^0.3.2" - supercluster "^2.3.0" - through2 "^2.0.3" - tinyqueue "^1.1.0" - unassertify "^2.0.0" - unflowify "^1.0.0" - vt-pbf "^3.0.1" - webworkify "^1.5.0" - -math-expression-evaluator@^1.2.14: - version "1.2.17" - resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" - -md5.js@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - dependencies: - mimic-fn "^1.0.0" - -memory-fs@^0.4.0, memory-fs@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - dependencies: - readable-stream "^2.0.1" - -merge@^1.1.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - -micromatch@^2.1.5, micromatch@^2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -micromatch@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.5.tgz#d05e168c206472dfbca985bfef4f57797b4cd4ba" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.0" - define-property "^1.0.0" - extend-shallow "^2.0.1" - extglob "^2.0.2" - fragment-cache "^0.2.1" - kind-of "^6.0.0" - nanomatch "^1.2.5" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -"mime-db@>= 1.33.0 < 2", mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - -mime-types@^2.1.12, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - dependencies: - mime-db "~1.33.0" - -mime@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - -mime@^1.4.1, mime@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - -minimalistic-assert@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - -mississippi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^2.0.1" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -moment@^2.20.1: - version "2.20.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.20.1.tgz#d6eb1a46cbcc14a2b2f9434112c1ff8907f313fd" - -monotone-convex-hull-2d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/monotone-convex-hull-2d/-/monotone-convex-hull-2d-1.0.1.tgz#47f5daeadf3c4afd37764baa1aa8787a40eee08c" - dependencies: - robust-orientation "^1.1.3" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -multi-stage-sourcemap@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz#b09fc8586eaa17f81d575c4ad02e0f7a3f6b1105" - dependencies: - source-map "^0.1.34" - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - -nan@^2.3.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" - -nanomatch@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.7.tgz#53cd4aa109ff68b7f869591fdc9d10daeeea3e79" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^1.0.0" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - is-odd "^1.0.0" - kind-of "^5.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - -ncname@1.0.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" - dependencies: - xml-char-classes "^1.0.0" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - dependencies: - lower-case "^1.1.1" - -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-forge@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - -node-libs-browser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^1.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.0" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.10.3" - vm-browserify "0.0.4" - -node-notifier@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" - dependencies: - growly "^1.3.0" - semver "^5.4.1" - shellwords "^0.1.1" - which "^1.3.0" - -node-pre-gyp@^0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" - dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - -"nomnom@>= 1.5.x": - version "2.0.0" - resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-2.0.0.tgz#5ca9db7ec8e7c0911a63dec172c491165414629a" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - -normalize-url@^1.4.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - dependencies: - path-key "^2.0.0" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -nwmatcher@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c" - -oauth-sign@~0.8.1, oauth-sign@~0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^1.1.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.2.0.tgz#e96af0e96981996a1d47f88ead8f74f1ebc4422b" - -object-inspect@~1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4" - -object-keys@^1.0.6, object-keys@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - dependencies: - isobject "^3.0.0" - -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - dependencies: - isobject "^3.0.1" - -obuf@^1.0.0, obuf@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" - -once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - dependencies: - mimic-fn "^1.0.0" - -opn@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.2.0.tgz#71fdf934d6827d676cecbea1531f95d354641225" - dependencies: - is-wsl "^1.1.0" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optionator@^0.8.1, optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - dependencies: - 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" - -original@>=0.0.5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" - dependencies: - url-parse "1.0.x" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - -os-homedir@^1.0.0, os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - dependencies: - lcid "^1.0.0" - -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - -p-limit@^1.0.0, p-limit@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" - dependencies: - p-try "^1.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - dependencies: - p-limit "^1.1.0" - -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - -package-json-versionify@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/package-json-versionify/-/package-json-versionify-1.0.4.tgz#5860587a944873a6b7e6d26e8e51ffb22315bf17" - dependencies: - browserify-package-json "^1.0.0" - -pako@~1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" - -parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - dependencies: - cyclist "~0.2.2" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@2.1.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - dependencies: - no-case "^2.2.0" - -parse-asn1@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - -parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-is-inside@^1.0.1, path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - -path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - dependencies: - isarray "0.0.1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - dependencies: - pify "^3.0.0" - -pbf@^3.0.5: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.1.0.tgz#f70004badcb281761eabb1e76c92f179f08189e9" - dependencies: - ieee754 "^1.1.6" - resolve-protobuf-schema "^2.0.0" - -pbkdf2@^3.0.3: - version "3.0.14" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade" - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - dependencies: - find-up "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - dependencies: - find-up "^2.1.0" - -pluralize@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - -point-in-polygon@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/point-in-polygon/-/point-in-polygon-1.0.1.tgz#d59b64e8fee41c49458aac82b56718c5957b2af7" - -portfinder@^1.0.9: - version "1.0.13" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" - dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - -postcss-calc@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" - dependencies: - postcss "^5.0.2" - postcss-message-helpers "^2.0.0" - reduce-css-calc "^1.2.6" - -postcss-colormin@^2.1.8: - version "2.2.2" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" - dependencies: - colormin "^1.0.5" - postcss "^5.0.13" - postcss-value-parser "^3.2.3" - -postcss-convert-values@^2.3.4: - version "2.6.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" - dependencies: - postcss "^5.0.11" - postcss-value-parser "^3.1.2" - -postcss-discard-comments@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" - dependencies: - postcss "^5.0.14" - -postcss-discard-duplicates@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" - dependencies: - postcss "^5.0.4" - -postcss-discard-empty@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" - dependencies: - postcss "^5.0.14" - -postcss-discard-overridden@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" - dependencies: - postcss "^5.0.16" - -postcss-discard-unused@^2.2.1: - version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" - dependencies: - postcss "^5.0.14" - uniqs "^2.0.0" - -postcss-filter-plugins@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" - dependencies: - postcss "^5.0.4" - uniqid "^4.0.0" - -postcss-merge-idents@^2.1.5: - version "2.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" - dependencies: - has "^1.0.1" - postcss "^5.0.10" - postcss-value-parser "^3.1.1" - -postcss-merge-longhand@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" - dependencies: - postcss "^5.0.4" - -postcss-merge-rules@^2.0.3: - version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" - dependencies: - browserslist "^1.5.2" - caniuse-api "^1.5.2" - postcss "^5.0.4" - postcss-selector-parser "^2.2.2" - vendors "^1.0.0" - -postcss-message-helpers@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" - -postcss-minify-font-values@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" - dependencies: - object-assign "^4.0.1" - postcss "^5.0.4" - postcss-value-parser "^3.0.2" - -postcss-minify-gradients@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" - dependencies: - postcss "^5.0.12" - postcss-value-parser "^3.3.0" - -postcss-minify-params@^1.0.4: - version "1.2.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" - dependencies: - alphanum-sort "^1.0.1" - postcss "^5.0.2" - postcss-value-parser "^3.0.2" - uniqs "^2.0.0" - -postcss-minify-selectors@^2.0.4: - version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" - dependencies: - alphanum-sort "^1.0.2" - has "^1.0.1" - postcss "^5.0.14" - postcss-selector-parser "^2.0.0" - -postcss-modules-extract-imports@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" - dependencies: - postcss "^6.0.1" - -postcss-modules-local-by-default@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-scope@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-values@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^6.0.1" - -postcss-normalize-charset@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" - dependencies: - postcss "^5.0.5" - -postcss-normalize-url@^3.0.7: - version "3.0.8" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^1.4.0" - postcss "^5.0.14" - postcss-value-parser "^3.2.3" - -postcss-ordered-values@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" - dependencies: - postcss "^5.0.4" - postcss-value-parser "^3.0.1" - -postcss-reduce-idents@^2.2.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" - dependencies: - postcss "^5.0.4" - postcss-value-parser "^3.0.2" - -postcss-reduce-initial@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" - dependencies: - postcss "^5.0.4" - -postcss-reduce-transforms@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" - dependencies: - has "^1.0.1" - postcss "^5.0.8" - postcss-value-parser "^3.0.1" - -postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-svgo@^2.1.1: - version "2.1.6" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" - dependencies: - is-svg "^2.0.0" - postcss "^5.0.14" - postcss-value-parser "^3.2.3" - svgo "^0.7.0" - -postcss-unique-selectors@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" - dependencies: - alphanum-sort "^1.0.1" - postcss "^5.0.4" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" - -postcss-zindex@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" - dependencies: - has "^1.0.1" - postcss "^5.0.4" - uniqs "^2.0.0" - -postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: - version "5.2.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" - dependencies: - chalk "^1.1.3" - js-base64 "^2.1.9" - source-map "^0.5.6" - supports-color "^3.2.3" - -postcss@^6.0.1: - version "6.0.19" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.19.tgz#76a78386f670b9d9494a655bf23ac012effd1555" - dependencies: - chalk "^2.3.1" - source-map "^0.6.1" - supports-color "^5.2.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-error@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - dependencies: - renderkid "^2.0.1" - utila "~0.4" - -pretty-format@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.0.tgz#237b1f7e1c50ed03bc65c03ccc29d7c8bb7beb94" - dependencies: - ansi-regex "^3.0.0" - ansi-styles "^3.2.0" - -private@^0.1.6, private@^0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - -process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - -progress@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - dependencies: - asap "~2.0.3" - -prop-types@^15.5.4, prop-types@^15.6.0: - version "15.6.0" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856" - dependencies: - fbjs "^0.8.16" - loose-envify "^1.3.1" - object-assign "^4.1.1" - -protocol-buffers-schema@^2.0.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-2.2.0.tgz#d29c6cd73fb655978fb6989691180db844119f61" - -proxy-addr@~2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.5.2" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -public-encrypt@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - -pump@^2.0.0, pump@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.4.0.tgz#80b7c5df7e24153d03f0e7ac8a05a5d068bd07fb" - dependencies: - duplexify "^3.5.3" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -punycode@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - -qs@6.5.1, qs@~6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" - -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - -querystringify@0.0.x: - version "0.0.4" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c" - -querystringify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" - -quickselect@^1.0.0, quickselect@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.0.1.tgz#1e6ceaa9db1ca7c75aafcc863c7bef2037ca62a1" - -quote-stream@^1.0.1, quote-stream@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" - dependencies: - buffer-equal "0.0.1" - minimist "^1.1.3" - through2 "^2.0.0" - -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -randomstring@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/randomstring/-/randomstring-1.1.5.tgz#6df0628f75cbd5932930d9fe3ab4e956a18518c3" - dependencies: - array-uniq "1.0.2" - -range-parser@^1.0.3, range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - -raw-body@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" - dependencies: - bytes "3.0.0" - http-errors "1.6.2" - iconv-lite "0.4.19" - unpipe "1.0.0" - -rbush@*, rbush@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/rbush/-/rbush-2.0.2.tgz#bb6005c2731b7ba1d5a9a035772927d16a614605" - dependencies: - quickselect "^1.0.1" - -rc@^1.1.7: - version "1.2.5" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.5.tgz#275cd687f6e3b36cc756baa26dfee80a790301fd" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-addons-shallow-compare@^15.6.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.2.tgz#198a00b91fc37623db64a28fd17b596ba362702f" - dependencies: - fbjs "^0.8.4" - object-assign "^4.1.0" - -react-dom@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044" - dependencies: - fbjs "^0.8.16" - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.0" - -react-geosuggest@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/react-geosuggest/-/react-geosuggest-2.7.0.tgz#6c02ea685062cf191aca40879c17916337d16250" - dependencies: - classnames "^2.2.3" - lodash.debounce "^4.0.6" - react-addons-shallow-compare "^15.6.2" - -react-redux@^5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.7.tgz#0dc1076d9afb4670f993ffaef44b8f8c1155a4c8" - dependencies: - hoist-non-react-statics "^2.5.0" - invariant "^2.0.0" - lodash "^4.17.5" - lodash-es "^4.17.5" - loose-envify "^1.1.0" - prop-types "^15.6.0" - -react-router-dom@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.2.2.tgz#c8a81df3adc58bba8a76782e946cbd4eae649b8d" - dependencies: - history "^4.7.2" - invariant "^2.2.2" - loose-envify "^1.3.1" - prop-types "^15.5.4" - react-router "^4.2.0" - warning "^3.0.0" - -react-router@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.2.0.tgz#61f7b3e3770daeb24062dae3eedef1b054155986" - dependencies: - history "^4.7.2" - hoist-non-react-statics "^2.3.0" - invariant "^2.2.2" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.5.4" - warning "^3.0.0" - -react@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba" - dependencies: - fbjs "^0.8.16" - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@~2.3.3: - version "2.3.4" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.4.tgz#c946c3f47fa7d8eabc0b6150f4a12f69a4574071" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readable-stream@1.0: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -realpath-native@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.0.tgz#7885721a83b43bd5327609f0ddecb2482305fdf0" - dependencies: - util.promisify "^1.0.0" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -reduce-css-calc@^1.2.6: - version "1.3.0" - resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" - dependencies: - balanced-match "^0.4.2" - math-expression-evaluator "^1.2.14" - reduce-function-call "^1.0.1" - -reduce-function-call@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" - dependencies: - balanced-match "^0.4.2" - -reduce-reducers@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.1.2.tgz#fa1b4718bc5292a71ddd1e5d839c9bea9770f14b" - -redux-actions@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.2.1.tgz#d64186b25649a13c05478547d7cd7537b892410d" - dependencies: - invariant "^2.2.1" - lodash "^4.13.1" - lodash-es "^4.17.4" - reduce-reducers "^0.1.0" - -redux-devtools-extension@^2.13.2: - version "2.13.2" - resolved "https://registry.yarnpkg.com/redux-devtools-extension/-/redux-devtools-extension-2.13.2.tgz#e0f9a8e8dfca7c17be92c7124958a3b94eb2911d" - -redux-promise-middleware@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/redux-promise-middleware/-/redux-promise-middleware-5.0.0.tgz#1656b24f9ac962bf11fbe55ea8360810e18d47a7" - -redux@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" - dependencies: - lodash "^4.2.1" - lodash-es "^4.2.1" - loose-envify "^1.1.0" - symbol-observable "^1.0.3" - -regenerate@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - -regenerator-transform@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - dependencies: - is-equal-shallow "^0.1.3" - -regex-not@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.0.tgz#42f83e39771622df826b02af176525d6a5f157f9" - dependencies: - extend-shallow "^2.0.1" - -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - dependencies: - jsesc "~0.5.0" - -relateurl@0.2.x: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - -renderkid@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" - dependencies: - css-select "^1.1.0" - dom-converter "~0.1" - htmlparser2 "~3.3.0" - strip-ansi "^3.0.0" - utila "~0.3" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -request-promise-core@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" - dependencies: - lodash "^4.13.1" - -request-promise-native@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" - dependencies: - request-promise-core "1.1.1" - stealthy-require "^1.1.0" - tough-cookie ">=2.3.3" - -request@2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -request@^2.83.0: - version "2.83.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -require-uncached@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - -requires-port@1.0.x, requires-port@1.x.x, requires-port@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - dependencies: - resolve-from "^3.0.0" - -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - -resolve-pathname@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" - -resolve-protobuf-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.0.0.tgz#e67b062a67f02d11bd6886e70efda788407e0fb4" - dependencies: - protocol-buffers-schema "^2.0.2" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - -resolve@^1.1.5: - version "1.5.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" - dependencies: - path-parse "^1.0.5" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" - dependencies: - hash-base "^2.0.0" - inherits "^2.0.1" - -robust-orientation@^1.1.2, robust-orientation@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/robust-orientation/-/robust-orientation-1.1.3.tgz#daff5b00d3be4e60722f0e9c0156ef967f1c2049" - dependencies: - robust-scale "^1.0.2" - robust-subtract "^1.0.0" - robust-sum "^1.0.0" - two-product "^1.0.2" - -robust-scale@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/robust-scale/-/robust-scale-1.0.2.tgz#775132ed09542d028e58b2cc79c06290bcf78c32" - dependencies: - two-product "^1.0.2" - two-sum "^1.0.0" - -robust-subtract@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/robust-subtract/-/robust-subtract-1.0.0.tgz#e0b164e1ed8ba4e3a5dda45a12038348dbed3e9a" - -robust-sum@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/robust-sum/-/robust-sum-1.0.0.tgz#16646e525292b4d25d82757a286955e0bbfa53d9" - -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - dependencies: - is-promise "^2.1.0" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - dependencies: - aproba "^1.1.1" - -rw@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - -safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -sane@^2.0.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/sane/-/sane-2.4.1.tgz#29f991208cf28636720efdc584293e7fd66663a5" - dependencies: - anymatch "^1.3.0" - exec-sh "^0.2.0" - fb-watchman "^2.0.0" - minimatch "^3.0.2" - minimist "^1.1.1" - walker "~1.0.5" - watch "~0.18.0" - optionalDependencies: - fsevents "^1.1.1" - -sax@^1.2.4, sax@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - -schema-utils@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" - dependencies: - ajv "^5.0.0" - -schema-utils@^0.4.2, schema-utils@^0.4.3, schema-utils@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -seedrandom@^2.4.2: - version "2.4.3" - resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-2.4.3.tgz#2438504dad33917314bff18ac4d794f16d6aaecc" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - -selfsigned@^1.9.1: - version "1.10.2" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.2.tgz#b4449580d99929b65b10a48389301a6592088758" - dependencies: - node-forge "0.7.1" - -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1: - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - -send@0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" - dependencies: - debug "2.6.9" - depd "~1.1.1" - destroy "~1.0.4" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.1" - -serialize-javascript@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.4.0.tgz#7c958514db6ac2443a8abc062dc9f7886a7f6005" - -serve-index@^1.7.2: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" - dependencies: - encodeurl "~1.0.1" - escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.1" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-getter@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" - dependencies: - to-object-path "^0.3.0" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4, setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - -setprototypeof@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.10" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.10.tgz#b1fde5cd7d11a5626638a07c604ab909cfa31f9b" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-copy@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - -shuffle-seed@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/shuffle-seed/-/shuffle-seed-1.1.6.tgz#533c12683bab3b4fa3e8751fc4e562146744260b" - dependencies: - seedrandom "^2.4.2" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -simplicial-complex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/simplicial-complex/-/simplicial-complex-1.0.0.tgz#6c33a4ed69fcd4d91b7bcadd3b30b63683eae241" - dependencies: - bit-twiddle "^1.0.0" - union-find "^1.0.0" - -simplify-js@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/simplify-js/-/simplify-js-1.2.3.tgz#a3422c1b9884d60421345eb44d2b872662df27f5" - -skmeans@0.9.7: - version "0.9.7" - resolved "https://registry.yarnpkg.com/skmeans/-/skmeans-0.9.7.tgz#72670cebb728508f56e29c0e10d11e623529ce5d" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - -slice-ansi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - dependencies: - is-fullwidth-code-point "^2.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370" - dependencies: - 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 "^2.0.0" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -sntp@2.x.x: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" - dependencies: - hoek "4.x.x" - -sockjs-client@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" - dependencies: - debug "^2.6.6" - eventsource "0.1.6" - faye-websocket "~0.11.0" - inherits "^2.0.1" - json3 "^3.3.2" - url-parse "^1.1.8" - -sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - -sort-asc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9" - -sort-desc@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - dependencies: - is-plain-obj "^1.0.0" - -sort-object@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2" - dependencies: - sort-asc "^0.1.0" - sort-desc "^0.1.1" - -source-list-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" - -source-map-resolve@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" - dependencies: - atob "^2.0.0" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - dependencies: - source-map "^0.5.6" - -source-map-support@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.3.tgz#2b3d5fff298cfa4d1afd7d4352d569e9a0158e76" - dependencies: - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - -source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1, source-map@~0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - -source-map@^0.1.34: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -spdy-transport@^2.0.18: - version "2.0.20" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.20.tgz#735e72054c486b2354fe89e702256004a39ace4d" - dependencies: - debug "^2.6.8" - detect-node "^2.0.3" - hpack.js "^2.1.6" - obuf "^1.1.1" - readable-stream "^2.2.9" - safe-buffer "^5.0.1" - wbuf "^1.7.2" - -spdy@^3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" - dependencies: - debug "^2.6.8" - handle-thing "^1.2.5" - http-deceiver "^1.2.7" - safe-buffer "^5.0.1" - select-hose "^2.0.0" - spdy-transport "^2.0.18" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -sshpk@^1.7.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -ssri@^5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.2.4.tgz#9985e14041e65fc397af96542be35724ac11da52" - dependencies: - safe-buffer "^5.1.1" - -stack-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" - -static-eval@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.0.tgz#0e821f8926847def7b4b50cda5d55c04a9b13864" - dependencies: - escodegen "^1.8.1" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -static-module@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/static-module/-/static-module-2.1.1.tgz#c771f827177507aff941be65a00fb85c210aa668" - dependencies: - concat-stream "~1.6.0" - duplexer2 "~0.1.4" - escodegen "~1.9.0" - falafel "^2.1.0" - has "^1.0.1" - object-inspect "~1.4.0" - quote-stream "~1.0.2" - readable-stream "~2.3.3" - shallow-copy "~0.0.1" - static-eval "^2.0.0" - through2 "~2.0.3" - -"statuses@>= 1.3.1 < 2": - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" - -statuses@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" - -stealthy-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - -stream-browserify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.0.tgz#fd86546dac9b1c91aff8fc5d287b98fafb41bc10" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.3" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string_decoder@^1.0.0, string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - dependencies: - safe-buffer "~5.1.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -stringstream@~0.0.4, stringstream@~0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - -strip-bom@3.0.0, strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -style-loader@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.20.2.tgz#851b373c187890331776e9cde359eea9c95ecd00" - dependencies: - loader-utils "^1.1.0" - schema-utils "^0.4.3" - -supercluster@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supercluster/-/supercluster-2.3.0.tgz#87ab56081bbea9a1d724df5351ee9e8c3af2f48b" - dependencies: - kdbush "^1.0.1" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^3.1.2, supports-color@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - dependencies: - has-flag "^1.0.0" - -supports-color@^4.2.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" - dependencies: - has-flag "^2.0.0" - -supports-color@^5.1.0, supports-color@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.2.0.tgz#b0d5333b1184dd3666cbe5aa0b45c5ac7ac17a4a" - dependencies: - has-flag "^3.0.0" - -svgo@^0.7.0: - version "0.7.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" - dependencies: - coa "~1.0.1" - colors "~1.1.2" - csso "~2.3.1" - js-yaml "~3.7.0" - mkdirp "~0.5.1" - sax "~1.2.1" - whet.extend "~0.9.9" - -symbol-observable@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - -symbol-tree@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" - -table@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" - dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" - chalk "^2.1.0" - lodash "^4.17.4" - slice-ansi "1.0.0" - string-width "^2.1.1" - -tapable@^0.2.7: - version "0.2.8" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" - -tar-pack@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - -tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -test-exclude@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.0.tgz#07e3613609a362c74516a717515e13322ab45b3c" - dependencies: - arrify "^1.0.1" - micromatch "^2.3.11" - object-assign "^4.1.0" - read-pkg-up "^1.0.1" - require-main-filename "^1.0.1" - -text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - -through2@^2.0.0, through2@^2.0.3, through2@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through@^2.3.6, through@^2.3.7, through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -thunky@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.2.tgz#a862e018e3fb1ea2ec3fce5d55605cf57f247371" - -time-stamp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" - -timers-browserify@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.6.tgz#241e76927d9ca05f4d959819022f5b3664b64bae" - dependencies: - setimmediate "^1.0.4" - -tinyqueue@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-1.2.3.tgz#b6a61de23060584da29f82362e45df1ec7353f3d" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae" - dependencies: - define-property "^0.2.5" - extend-shallow "^2.0.1" - regex-not "^1.0.0" - -topojson-client@3.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/topojson-client/-/topojson-client-3.0.0.tgz#1f99293a77ef42a448d032a81aa982b73f360d2f" - dependencies: - commander "2" - -topojson-server@3.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/topojson-server/-/topojson-server-3.0.0.tgz#378e78e87c3972a7b5be2c5d604369b6bae69c5e" - dependencies: - commander "2" - -toposort@^1.0.0: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.6.tgz#c31748e55d210effc00fdcdc7d6e68d7d7bb9cec" - -tough-cookie@>=2.3.3, tough-cookie@^2.3.3, tough-cookie@~2.3.0, tough-cookie@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" - dependencies: - punycode "^1.4.1" - -tr46@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - dependencies: - punycode "^2.1.0" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -turf-along@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-along/-/turf-along-3.0.12.tgz#e622bde7a4bd138c09647d4b14aa0ea700485de6" - dependencies: - turf-bearing "^3.0.12" - turf-destination "^3.0.12" - turf-distance "^3.0.12" - turf-helpers "^3.0.12" - -turf-area@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-area/-/turf-area-3.0.12.tgz#9b7e469ef9fb558fd147bb0c214823263bdbf13c" - dependencies: - geojson-area "^0.2.1" - -turf-bbox-polygon@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-bbox-polygon/-/turf-bbox-polygon-3.0.12.tgz#330dc0bb38322d61545df966ce6c80f685acf4f2" - dependencies: - turf-helpers "^3.0.12" - -turf-bbox@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-bbox/-/turf-bbox-3.0.12.tgz#3fa06117c8443860ec80ac60fd5d2f1320bfb1be" - dependencies: - turf-meta "^3.0.12" - -turf-bearing@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-bearing/-/turf-bearing-3.0.12.tgz#65f609dd850e7364c7771aa6ded87b0e1917fd20" - dependencies: - turf-invariant "^3.0.12" - -turf-bezier@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-bezier/-/turf-bezier-3.0.12.tgz#102efdd4a63b265ee9c8c1727631920b36f4dd02" - dependencies: - turf-helpers "^3.0.12" - -turf-buffer@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-buffer/-/turf-buffer-3.0.12.tgz#20840fe7c6aa67b24be1cab7ffcc5a82fd6bd971" - dependencies: - geojson-normalize "0.0.0" - jsts "1.1.2" - turf-combine "^3.0.12" - turf-helpers "^3.0.12" - -turf-center@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-center/-/turf-center-3.0.12.tgz#45dd6c1729bb867291e3e002e9c7506f8c440196" - dependencies: - turf-bbox "^3.0.12" - turf-helpers "^3.0.12" - -turf-centroid@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-centroid/-/turf-centroid-3.0.12.tgz#eaee0d698204b57fc33994bb1bc867b8da293f8f" - dependencies: - turf-helpers "^3.0.12" - turf-meta "^3.0.12" - -turf-circle@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-circle/-/turf-circle-3.0.12.tgz#140b21cb4950f2d3cbc70d2df012936867f58930" - dependencies: - turf-destination "^3.0.12" - turf-helpers "^3.0.12" - -turf-collect@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-collect/-/turf-collect-3.0.12.tgz#6e986d1a707da319cc83e7238d0bcdf19aa3c7f2" - dependencies: - turf-inside "^3.0.12" - -turf-combine@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-combine/-/turf-combine-3.0.12.tgz#1670746f0fdce0d1ea8aa6a29ffe5438d446cf73" - dependencies: - turf-meta "^3.0.12" - -turf-concave@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-concave/-/turf-concave-3.0.12.tgz#fcab6056965b0a8319f6cd802601095f2fd3a8eb" - dependencies: - turf-distance "^3.0.12" - turf-meta "^3.0.12" - turf-tin "^3.0.12" - turf-union "^3.0.12" - -turf-convex@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-convex/-/turf-convex-3.0.12.tgz#a88ddc3e22d1cb658796a9c85d3ada3bd3eca357" - dependencies: - convex-hull "^1.0.3" - turf-helpers "^3.0.12" - turf-meta "^3.0.12" - -turf-destination@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-destination/-/turf-destination-3.0.12.tgz#7dd6fbf97e86f831a26c83ef2d5a2f8d1d8a6de2" - dependencies: - turf-helpers "^3.0.12" - turf-invariant "^3.0.12" - -turf-difference@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-difference/-/turf-difference-3.0.12.tgz#9c3d0d7630421005b8b25b7f068ed9efb4bc6ea7" - dependencies: - jsts "1.1.2" - turf-helpers "^3.0.12" - -turf-distance@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-distance/-/turf-distance-3.0.12.tgz#fb97b8705facd993b145e014b41862610eeca449" - dependencies: - turf-helpers "^3.0.12" - turf-invariant "^3.0.12" - -turf-envelope@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-envelope/-/turf-envelope-3.0.12.tgz#96921d278cc8c664692e320e2543b914080d786b" - dependencies: - turf-bbox "^3.0.12" - turf-bbox-polygon "^3.0.12" - -turf-explode@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-explode/-/turf-explode-3.0.12.tgz#c5ae28c284cd006c56511ec7d408c48a5414ecfe" - dependencies: - turf-helpers "^3.0.12" - turf-meta "^3.0.12" - -turf-flip@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-flip/-/turf-flip-3.0.12.tgz#deb868177b9ff3bb310c5d41aaac61a9156a3cbb" - dependencies: - turf-meta "^3.0.12" - -turf-grid@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/turf-grid/-/turf-grid-1.0.1.tgz#b904abc564b939b627a66ac15eb16e053829b80f" - dependencies: - turf-point "^2.0.0" - -turf-helpers@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-helpers/-/turf-helpers-3.0.12.tgz#dd4272e74b3ad7c96eecb7ae5c57fe8eca544b7b" - -turf-hex-grid@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-hex-grid/-/turf-hex-grid-3.0.12.tgz#0698ef669020bb31d8e9cc2056d0abfcafc84e8f" - dependencies: - turf-distance "^3.0.12" - turf-helpers "^3.0.12" - -turf-inside@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-inside/-/turf-inside-3.0.12.tgz#9ba40fa6eed63bec7e7d88aa6427622c4df07066" - dependencies: - turf-invariant "^3.0.12" - -turf-intersect@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-intersect/-/turf-intersect-3.0.12.tgz#c0d7fb305843a19275670057a39d268b17830d83" - dependencies: - jsts "1.1.2" - -turf-invariant@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-invariant/-/turf-invariant-3.0.12.tgz#3b95253953991ebd962dd35d4f6704c287de8ebe" - -turf-isolines@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-isolines/-/turf-isolines-3.0.12.tgz#00b233dfe2eebd4ecb47a94fc923c6ecec89c7ab" - dependencies: - turf-bbox "^3.0.12" - turf-grid "1.0.1" - turf-helpers "^3.0.12" - turf-inside "^3.0.12" - turf-planepoint "^3.0.12" - turf-square "^3.0.12" - turf-tin "^3.0.12" - -turf-jsts@*: - version "1.2.3" - resolved "https://registry.yarnpkg.com/turf-jsts/-/turf-jsts-1.2.3.tgz#59757f542afbff9a577bbf411f183b8f48d38aa4" - -turf-kinks@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-kinks/-/turf-kinks-3.0.12.tgz#e9c9a8dba5724d98f2350fc5bdeba069ec333755" - dependencies: - turf-helpers "^3.0.12" - -turf-line-distance@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-line-distance/-/turf-line-distance-3.0.12.tgz#7108f5b26907f7b8c2dd1b3997866dd3a60e8f5f" - dependencies: - turf-distance "^3.0.12" - turf-helpers "^3.0.12" - -turf-line-slice@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-line-slice/-/turf-line-slice-3.0.12.tgz#f5f1accc92adae69ea1ac0b29f07529a28dde916" - dependencies: - turf-bearing "^3.0.12" - turf-destination "^3.0.12" - turf-distance "^3.0.12" - turf-helpers "^3.0.12" - turf-point-on-line "^3.0.12" - -turf-meta@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-meta/-/turf-meta-3.0.12.tgz#0aa9a1caf82b2a5a08d54e0830b5b5a3fa0e8a38" - -turf-midpoint@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-midpoint/-/turf-midpoint-3.0.12.tgz#b12765ae89acdee8556fd5e26c9c5fa041a02cbe" - dependencies: - turf-bearing "^3.0.12" - turf-destination "^3.0.12" - turf-distance "^3.0.12" - turf-invariant "^3.0.12" - -turf-nearest@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-nearest/-/turf-nearest-3.0.12.tgz#700207f4443f05096f86cd246f929f170dfaf46d" - dependencies: - turf-distance "^3.0.12" - -turf-planepoint@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-planepoint/-/turf-planepoint-3.0.12.tgz#2c37ae0f17fcb30db6e38f0d59ee6c0dd6caa9af" - -turf-point-grid@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-point-grid/-/turf-point-grid-3.0.12.tgz#d604978be10bc9e53306ae02cef7098431db4971" - dependencies: - turf-distance "^3.0.12" - turf-helpers "^3.0.12" - -turf-point-on-line@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-point-on-line/-/turf-point-on-line-3.0.12.tgz#1d8663354e70372db1863e6253e9040c47127b0f" - dependencies: - turf-bearing "^3.0.12" - turf-destination "^3.0.12" - turf-distance "^3.0.12" - turf-helpers "^3.0.12" - -turf-point-on-surface@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-point-on-surface/-/turf-point-on-surface-3.0.12.tgz#9be505b6b0ba78e98565001de3b3a4267115240a" - dependencies: - turf-center "^3.0.12" - turf-distance "^3.0.12" - turf-explode "^3.0.12" - turf-helpers "^3.0.12" - turf-inside "^3.0.12" - -turf-point@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/turf-point/-/turf-point-2.0.1.tgz#a2dcc30a2d20f44cf5c6271df7bae2c0e2146069" - dependencies: - minimist "^1.1.0" - -turf-random@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-random/-/turf-random-3.0.12.tgz#34dbb141c3f1eaeae1424fd6c5eaba1f6fb9b1e8" - dependencies: - geojson-random "^0.2.2" - -turf-sample@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-sample/-/turf-sample-3.0.12.tgz#7949f8620612047e1314c1ced87e99c142463cd2" - dependencies: - turf-helpers "^3.0.12" - -turf-simplify@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-simplify/-/turf-simplify-3.0.12.tgz#85e443c8b46aa2b7526389444c7381daa2ad19e7" - dependencies: - simplify-js "^1.2.1" - -turf-square-grid@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-square-grid/-/turf-square-grid-3.0.12.tgz#3c1d80ac14556c6813b478bda012512ed4b93ec8" - dependencies: - turf-distance "^3.0.12" - turf-helpers "^3.0.12" - -turf-square@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-square/-/turf-square-3.0.12.tgz#1a38b1e0fb05ffe0fcaa43188e2f37942a515b64" - dependencies: - turf-distance "^3.0.12" - turf-helpers "^3.0.12" - -turf-tag@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-tag/-/turf-tag-3.0.12.tgz#2284fff0e8a1e92a27d4ac7fd7471b3c48ddd1a8" - dependencies: - turf-inside "^3.0.12" - -turf-tesselate@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-tesselate/-/turf-tesselate-3.0.12.tgz#41474b7b5b3820bcf273fb71e1894d8c3cd40d35" - dependencies: - earcut "^2.0.0" - turf-helpers "^3.0.12" - -turf-tin@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-tin/-/turf-tin-3.0.12.tgz#b6534644763ace1c9df241c958d2384855257385" - dependencies: - turf-helpers "^3.0.12" - -turf-triangle-grid@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-triangle-grid/-/turf-triangle-grid-3.0.12.tgz#80647e57dafe09346879a29a18a0e6294acf1159" - dependencies: - turf-distance "^3.0.12" - turf-helpers "^3.0.12" - -turf-union@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-union/-/turf-union-3.0.12.tgz#dfed0e5540b8c2855e4994c14621e3a60c829c8e" - dependencies: - jsts "1.1.2" - -turf-within@^3.0.12: - version "3.0.12" - resolved "https://registry.yarnpkg.com/turf-within/-/turf-within-3.0.12.tgz#f77eeaf377238561b7fb1338e76e9d1298741f94" - dependencies: - turf-helpers "^3.0.12" - turf-inside "^3.0.12" - -turf@^3.0.14: - version "3.0.14" - resolved "https://registry.yarnpkg.com/turf/-/turf-3.0.14.tgz#eb2f4a80a2d583b8c6486bc7b5c7190466866c27" - dependencies: - turf-along "^3.0.12" - turf-area "^3.0.12" - turf-bbox "^3.0.12" - turf-bbox-polygon "^3.0.12" - turf-bearing "^3.0.12" - turf-bezier "^3.0.12" - turf-buffer "^3.0.12" - turf-center "^3.0.12" - turf-centroid "^3.0.12" - turf-circle "^3.0.12" - turf-collect "^3.0.12" - turf-combine "^3.0.12" - turf-concave "^3.0.12" - turf-convex "^3.0.12" - turf-destination "^3.0.12" - turf-difference "^3.0.12" - turf-distance "^3.0.12" - turf-envelope "^3.0.12" - turf-explode "^3.0.12" - turf-flip "^3.0.12" - turf-helpers "^3.0.12" - turf-hex-grid "^3.0.12" - turf-inside "^3.0.12" - turf-intersect "^3.0.12" - turf-isolines "^3.0.12" - turf-kinks "^3.0.12" - turf-line-distance "^3.0.12" - turf-line-slice "^3.0.12" - turf-meta "^3.0.12" - turf-midpoint "^3.0.12" - turf-nearest "^3.0.12" - turf-planepoint "^3.0.12" - turf-point-grid "^3.0.12" - turf-point-on-line "^3.0.12" - turf-point-on-surface "^3.0.12" - turf-random "^3.0.12" - turf-sample "^3.0.12" - turf-simplify "^3.0.12" - turf-square "^3.0.12" - turf-square-grid "^3.0.12" - turf-tag "^3.0.12" - turf-tesselate "^3.0.12" - turf-tin "^3.0.12" - turf-triangle-grid "^3.0.12" - turf-union "^3.0.12" - turf-within "^3.0.12" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -two-product@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/two-product/-/two-product-1.0.2.tgz#67d95d4b257a921e2cb4bd7af9511f9088522eaa" - -two-sum@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/two-sum/-/two-sum-1.0.0.tgz#31d3f32239e4f731eca9df9155e2b297f008ab64" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - -type-is@~1.6.15: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.18" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -ua-parser-js@^0.7.9: - version "0.7.17" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" - -uglify-es@^3.3.4: - version "3.3.9" - resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" - dependencies: - commander "~2.13.0" - source-map "~0.6.1" - -uglify-js@3.3.x: - version "3.3.11" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.11.tgz#e9d058b20715138bb4e8e5cae2ea581686bdaae3" - dependencies: - commander "~2.14.1" - source-map "~0.6.1" - -uglify-js@^2.6, uglify-js@^2.8.29: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -uglifyjs-webpack-plugin@^0.4.6: - version "0.4.6" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" - dependencies: - source-map "^0.5.6" - uglify-js "^2.8.29" - webpack-sources "^1.0.1" - -uglifyjs-webpack-plugin@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.0.tgz#f706fa4c655000a086b4a97c7d835ed0f6e9b0ef" - dependencies: - cacache "^10.0.1" - find-cache-dir "^1.0.0" - schema-utils "^0.4.2" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - uglify-es "^3.3.4" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - -unassert@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/unassert/-/unassert-1.5.1.tgz#cbc88ec387417c5a5e4c02d3cd07be98bd75ff76" - dependencies: - acorn "^4.0.0" - call-matcher "^1.0.1" - deep-equal "^1.0.0" - espurify "^1.3.0" - estraverse "^4.1.0" - esutils "^2.0.2" - object-assign "^4.1.0" - -unassertify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unassertify/-/unassertify-2.1.0.tgz#6b07abf5c6598ba3852a27a676caad1df526a96d" - dependencies: - acorn "^5.1.0" - convert-source-map "^1.1.1" - escodegen "^1.6.1" - multi-stage-sourcemap "^0.2.1" - through "^2.3.7" - unassert "^1.3.1" - -unflowify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unflowify/-/unflowify-1.0.1.tgz#a2ea0d25c0affcc46955e6473575f7c5a1f4a696" - dependencies: - flow-remove-types "^1.1.2" - through "^2.3.8" - -union-find@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/union-find/-/union-find-1.0.2.tgz#292bac415e6ad3a89535d237010db4a536284e58" - -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - -uniqid@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" - dependencies: - macaddress "^0.2.8" - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - -unique-filename@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" - dependencies: - imurmurhash "^0.1.4" - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.2.tgz#80aaae5395abc5fd402933ae2f58694f0860204c" - dependencies: - lodash.endswith "^4.2.1" - lodash.isfunction "^3.0.8" - lodash.isstring "^4.0.1" - lodash.startswith "^4.2.1" - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - -url-loader@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.6.2.tgz#a007a7109620e9d988d14bce677a1decb9a993f7" - dependencies: - loader-utils "^1.0.2" - mime "^1.4.1" - schema-utils "^0.3.0" - -url-parse@1.0.x: - version "1.0.5" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b" - dependencies: - querystringify "0.0.x" - requires-port "1.0.x" - -url-parse@^1.1.8: - version "1.2.0" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.2.0.tgz#3a19e8aaa6d023ddd27dcc44cb4fc8f7fec23986" - dependencies: - querystringify "~1.0.0" - requires-port "~1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" - dependencies: - define-property "^0.2.5" - isobject "^3.0.0" - lazy-cache "^2.0.2" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -util.promisify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util@0.10.3, util@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - dependencies: - inherits "2.0.1" - -utila@~0.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - -uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -value-equal@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - -vendors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vlq@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" - -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - dependencies: - indexof "0.0.1" - -vt-pbf@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/vt-pbf/-/vt-pbf-3.1.0.tgz#d7e63f585b362cbff6b84fcd052c159112e0acc7" - dependencies: - "@mapbox/point-geometry" "0.1.0" - "@mapbox/vector-tile" "^1.3.0" - pbf "^3.0.5" - -w3c-hr-time@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" - dependencies: - browser-process-hrtime "^0.1.2" - -walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - dependencies: - makeerror "1.0.x" - -warning@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" - dependencies: - loose-envify "^1.0.0" - -watch@~0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" - dependencies: - exec-sh "^0.2.0" - minimist "^1.2.0" - -watchpack@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" - dependencies: - async "^2.1.2" - chokidar "^1.7.0" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe" - dependencies: - minimalistic-assert "^1.0.0" - -webidl-conversions@^4.0.1, webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - -webpack-dev-middleware@1.12.2: - version "1.12.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" - dependencies: - memory-fs "~0.4.1" - mime "^1.5.0" - path-is-absolute "^1.0.0" - range-parser "^1.0.3" - time-stamp "^2.0.0" - -webpack-dev-server@^2.11.1: - version "2.11.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.11.1.tgz#6f9358a002db8403f016e336816f4485384e5ec0" - dependencies: - ansi-html "0.0.7" - array-includes "^3.0.3" - bonjour "^3.5.0" - chokidar "^2.0.0" - compression "^1.5.2" - connect-history-api-fallback "^1.3.0" - debug "^3.1.0" - del "^3.0.0" - express "^4.16.2" - html-entities "^1.2.0" - http-proxy-middleware "~0.17.4" - import-local "^1.0.0" - internal-ip "1.2.0" - ip "^1.1.5" - killable "^1.0.0" - loglevel "^1.4.1" - opn "^5.1.0" - portfinder "^1.0.9" - selfsigned "^1.9.1" - serve-index "^1.7.2" - sockjs "0.3.19" - sockjs-client "1.1.4" - spdy "^3.4.1" - strip-ansi "^3.0.0" - supports-color "^5.1.0" - webpack-dev-middleware "1.12.2" - yargs "6.6.0" - -webpack-merge@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.1.tgz#f1197a0a973e69c6fbeeb6d658219aa8c0c13555" - dependencies: - lodash "^4.17.4" - -webpack-sources@^1.0.1, webpack-sources@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.11.0.tgz#77da451b1d7b4b117adaf41a1a93b5742f24d894" - dependencies: - acorn "^5.0.0" - acorn-dynamic-import "^2.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - async "^2.1.2" - enhanced-resolve "^3.4.0" - escope "^3.6.0" - interpret "^1.0.0" - json-loader "^0.5.4" - json5 "^0.5.1" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - mkdirp "~0.5.0" - node-libs-browser "^2.0.0" - source-map "^0.5.3" - supports-color "^4.2.1" - tapable "^0.2.7" - uglifyjs-webpack-plugin "^0.4.6" - watchpack "^1.4.0" - webpack-sources "^1.0.1" - yargs "^8.0.2" - -websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" - dependencies: - http-parser-js ">=0.4.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" - -webworkify@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/webworkify/-/webworkify-1.5.0.tgz#734ad87a774de6ebdd546e1d3e027da5b8f4a42c" - -wgs84@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/wgs84/-/wgs84-0.0.0.tgz#34fdc555917b6e57cf2a282ed043710c049cdc76" - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" - dependencies: - iconv-lite "0.4.19" - -whatwg-fetch@>=0.10.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" - -whatwg-url@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.0.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08" - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.0" - webidl-conversions "^4.0.1" - -whet.extend@~0.9.9: - version "0.9.9" - resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" - -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - -which@^1.2.12, which@^1.2.9, which@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" - dependencies: - string-width "^1.0.2" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - -worker-farm@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.2.tgz#32b312e5dc3d5d45d79ef44acc2587491cd729ae" - dependencies: - errno "^0.1.4" - xtend "^4.0.1" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write-file-atomic@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - dependencies: - mkdirp "^0.5.1" - -ws@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-4.0.0.tgz#bfe1da4c08eeb9780b986e0e4d10eccd7345999f" - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -xml-char-classes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - -yargs-parser@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" - dependencies: - camelcase "^3.0.0" - -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - dependencies: - camelcase "^4.1.0" - -yargs-parser@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" - dependencies: - camelcase "^4.1.0" - -yargs@6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^4.2.0" - -yargs@^10.0.3: - version "10.1.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^8.1.0" - -yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0"