Add sandwich video to landing page
This commit is contained in:
		@@ -46,7 +46,6 @@
 | 
				
			|||||||
        "ethereumjs-util": "^5.1.1",
 | 
					        "ethereumjs-util": "^5.1.1",
 | 
				
			||||||
        "find-versions": "^2.0.0",
 | 
					        "find-versions": "^2.0.0",
 | 
				
			||||||
        "is-mobile": "^0.2.2",
 | 
					        "is-mobile": "^0.2.2",
 | 
				
			||||||
        "valid-url": "^1.0.9",
 | 
					 | 
				
			||||||
        "jsonschema": "^1.2.0",
 | 
					        "jsonschema": "^1.2.0",
 | 
				
			||||||
        "less": "^2.7.2",
 | 
					        "less": "^2.7.2",
 | 
				
			||||||
        "lodash": "^4.17.11",
 | 
					        "lodash": "^4.17.11",
 | 
				
			||||||
@@ -67,6 +66,7 @@
 | 
				
			|||||||
        "react-lazyload": "^2.3.0",
 | 
					        "react-lazyload": "^2.3.0",
 | 
				
			||||||
        "react-loadable": "^5.5.0",
 | 
					        "react-loadable": "^5.5.0",
 | 
				
			||||||
        "react-markdown": "^4.0.6",
 | 
					        "react-markdown": "^4.0.6",
 | 
				
			||||||
 | 
					        "react-modal-video": "^1.2.2",
 | 
				
			||||||
        "react-popper": "^1.0.0-beta.6",
 | 
					        "react-popper": "^1.0.0-beta.6",
 | 
				
			||||||
        "react-redux": "^5.0.3",
 | 
					        "react-redux": "^5.0.3",
 | 
				
			||||||
        "react-responsive": "^6.0.1",
 | 
					        "react-responsive": "^6.0.1",
 | 
				
			||||||
@@ -75,15 +75,17 @@
 | 
				
			|||||||
        "react-scrollable-anchor": "^0.6.1",
 | 
					        "react-scrollable-anchor": "^0.6.1",
 | 
				
			||||||
        "react-syntax-highlighter": "^10.1.1",
 | 
					        "react-syntax-highlighter": "^10.1.1",
 | 
				
			||||||
        "react-tooltip": "^3.2.7",
 | 
					        "react-tooltip": "^3.2.7",
 | 
				
			||||||
 | 
					        "react-transition-group": "^4.2.1",
 | 
				
			||||||
        "react-typist": "^2.0.4",
 | 
					        "react-typist": "^2.0.4",
 | 
				
			||||||
        "redux": "^3.6.0",
 | 
					        "redux": "^3.6.0",
 | 
				
			||||||
        "redux-devtools-extension": "^2.13.2",
 | 
					        "redux-devtools-extension": "^2.13.2",
 | 
				
			||||||
        "rollbar": "^2.4.7",
 | 
					        "rollbar": "^2.4.7",
 | 
				
			||||||
        "semver-sort": "0.0.4",
 | 
					 | 
				
			||||||
        "semver": "5.5.0",
 | 
					        "semver": "5.5.0",
 | 
				
			||||||
 | 
					        "semver-sort": "0.0.4",
 | 
				
			||||||
        "styled-components": "^4.1.1",
 | 
					        "styled-components": "^4.1.1",
 | 
				
			||||||
        "thenby": "^1.2.3",
 | 
					        "thenby": "^1.2.3",
 | 
				
			||||||
        "truffle-contract": "2.0.1",
 | 
					        "truffle-contract": "2.0.1",
 | 
				
			||||||
 | 
					        "valid-url": "^1.0.9",
 | 
				
			||||||
        "web3-provider-engine": "14.0.6",
 | 
					        "web3-provider-engine": "14.0.6",
 | 
				
			||||||
        "xml-js": "^1.6.4"
 | 
					        "xml-js": "^1.6.4"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -94,7 +96,6 @@
 | 
				
			|||||||
        "@types/deep-equal": "^1.0.0",
 | 
					        "@types/deep-equal": "^1.0.0",
 | 
				
			||||||
        "@types/find-versions": "^2.0.0",
 | 
					        "@types/find-versions": "^2.0.0",
 | 
				
			||||||
        "@types/is-mobile": "0.3.0",
 | 
					        "@types/is-mobile": "0.3.0",
 | 
				
			||||||
        "@types/valid-url": "^1.0.2",
 | 
					 | 
				
			||||||
        "@types/jsonschema": "^1.1.1",
 | 
					        "@types/jsonschema": "^1.1.1",
 | 
				
			||||||
        "@types/lodash": "4.14.104",
 | 
					        "@types/lodash": "4.14.104",
 | 
				
			||||||
        "@types/material-ui": "^0.20.0",
 | 
					        "@types/material-ui": "^0.20.0",
 | 
				
			||||||
@@ -110,15 +111,19 @@
 | 
				
			|||||||
        "@types/react-scroll": "1.5.3",
 | 
					        "@types/react-scroll": "1.5.3",
 | 
				
			||||||
        "@types/react-syntax-highlighter": "^0.0.8",
 | 
					        "@types/react-syntax-highlighter": "^0.0.8",
 | 
				
			||||||
        "@types/react-tap-event-plugin": "0.0.30",
 | 
					        "@types/react-tap-event-plugin": "0.0.30",
 | 
				
			||||||
 | 
					        "@types/react-transition-group": "^4.2.0",
 | 
				
			||||||
        "@types/redux": "^3.6.0",
 | 
					        "@types/redux": "^3.6.0",
 | 
				
			||||||
 | 
					        "@types/valid-url": "^1.0.2",
 | 
				
			||||||
        "@types/web3-provider-engine": "^14.0.0",
 | 
					        "@types/web3-provider-engine": "^14.0.0",
 | 
				
			||||||
        "awesome-typescript-loader": "^5.2.1",
 | 
					        "awesome-typescript-loader": "^5.2.1",
 | 
				
			||||||
        "css-loader": "0.23.x",
 | 
					        "css-loader": "0.23.x",
 | 
				
			||||||
        "less-loader": "^4.1.0",
 | 
					        "less-loader": "^4.1.0",
 | 
				
			||||||
        "make-promises-safe": "^1.1.0",
 | 
					        "make-promises-safe": "^1.1.0",
 | 
				
			||||||
 | 
					        "node-sass": "^4.12.0",
 | 
				
			||||||
        "raw-loader": "^0.5.1",
 | 
					        "raw-loader": "^0.5.1",
 | 
				
			||||||
        "react-svg-loader": "^2.1.0",
 | 
					        "react-svg-loader": "^2.1.0",
 | 
				
			||||||
        "rollbar-sourcemap-webpack-plugin": "^2.4.0",
 | 
					        "rollbar-sourcemap-webpack-plugin": "^2.4.0",
 | 
				
			||||||
 | 
					        "sass-loader": "^7.1.0",
 | 
				
			||||||
        "shx": "^0.2.2",
 | 
					        "shx": "^0.2.2",
 | 
				
			||||||
        "source-map-loader": "^0.2.4",
 | 
					        "source-map-loader": "^0.2.4",
 | 
				
			||||||
        "style-loader": "0.23.x",
 | 
					        "style-loader": "0.23.x",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -108,7 +108,7 @@ const ButtonBase = styled.button<ButtonInterface>`
 | 
				
			|||||||
        border-color: ${props => props.isTransparent && !props.isNoBorder && !props.isWithArrow && '#00AE99'};
 | 
					        border-color: ${props => props.isTransparent && !props.isNoBorder && !props.isWithArrow && '#00AE99'};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        svg {
 | 
					        svg {
 | 
				
			||||||
            transform: translate3d(2px, -2px, 0);
 | 
					            transform: ${props => (props.isWithArrow ? 'translate3d(2px, -2px, 0)' : '')};
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
`;
 | 
					`;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -117,7 +117,7 @@ const ButtonWrap = styled.div`
 | 
				
			|||||||
        flex-direction: column;
 | 
					        flex-direction: column;
 | 
				
			||||||
        justify-content: center;
 | 
					        justify-content: center;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        * {
 | 
					        > * {
 | 
				
			||||||
            padding-left: 20px;
 | 
					            padding-left: 20px;
 | 
				
			||||||
            padding-right: 20px;
 | 
					            padding-right: 20px;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -138,10 +138,25 @@ const BackgroundWrap = styled.div`
 | 
				
			|||||||
    top: 0;
 | 
					    top: 0;
 | 
				
			||||||
`;
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const Hero: React.StatelessComponent<Props> = (props: Props) => (
 | 
					export class Hero extends React.Component<Props> {
 | 
				
			||||||
 | 
					    public static defaultProps = {
 | 
				
			||||||
 | 
					        isCenteredMobile: true,
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    public shouldComponentUpdate(): boolean {
 | 
				
			||||||
 | 
					        // The hero is a static component with animations.
 | 
				
			||||||
 | 
					        // We do not want state changes in parent components to re-trigger animations.
 | 
				
			||||||
 | 
					        return false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    public render(): React.ReactNode {
 | 
				
			||||||
 | 
					        const props = this.props;
 | 
				
			||||||
 | 
					        return (
 | 
				
			||||||
            <Section padding={props.sectionPadding} isAnnouncement={!!props.announcement}>
 | 
					            <Section padding={props.sectionPadding} isAnnouncement={!!props.announcement}>
 | 
				
			||||||
                {!!props.background && <BackgroundWrap>{props.background}</BackgroundWrap>}
 | 
					                {!!props.background && <BackgroundWrap>{props.background}</BackgroundWrap>}
 | 
				
			||||||
        <Wrap isCentered={!props.figure} isFullWidth={props.isFullWidth} isCenteredMobile={props.isCenteredMobile}>
 | 
					                <Wrap
 | 
				
			||||||
 | 
					                    isCentered={!props.figure}
 | 
				
			||||||
 | 
					                    isFullWidth={props.isFullWidth}
 | 
				
			||||||
 | 
					                    isCenteredMobile={props.isCenteredMobile}
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
                    {props.figure && <Content width="400px">{props.figure}</Content>}
 | 
					                    {props.figure && <Content width="400px">{props.figure}</Content>}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    <Content width={props.maxWidth ? props.maxWidth : props.figure ? '546px' : '678px'}>
 | 
					                    <Content width={props.maxWidth ? props.maxWidth : props.figure ? '546px' : '678px'}>
 | 
				
			||||||
@@ -157,7 +172,5 @@ export const Hero: React.StatelessComponent<Props> = (props: Props) => (
 | 
				
			|||||||
                </Wrap>
 | 
					                </Wrap>
 | 
				
			||||||
            </Section>
 | 
					            </Section>
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
Hero.defaultProps = {
 | 
					}
 | 
				
			||||||
    isCenteredMobile: true,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										259
									
								
								packages/website/ts/components/modals/modal_video.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										259
									
								
								packages/website/ts/components/modals/modal_video.tsx
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,259 @@
 | 
				
			|||||||
 | 
					import React from 'react';
 | 
				
			||||||
 | 
					import CSSTransition from 'react-transition-group/CSSTransition';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface ModalVideoClassnames {
 | 
				
			||||||
 | 
					    modalVideoEffect: string;
 | 
				
			||||||
 | 
					    modalVideo: string;
 | 
				
			||||||
 | 
					    modalVideoClose: string;
 | 
				
			||||||
 | 
					    modalVideoBody: string;
 | 
				
			||||||
 | 
					    modalVideoInner: string;
 | 
				
			||||||
 | 
					    modalVideoIframeWrap: string;
 | 
				
			||||||
 | 
					    modalVideoCloseBtn: string;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface Aria {
 | 
				
			||||||
 | 
					    openMessage: string;
 | 
				
			||||||
 | 
					    dismissBtnMessage: string;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface ModalVideoProps {
 | 
				
			||||||
 | 
					    onClose?: () => void;
 | 
				
			||||||
 | 
					    isOpen: boolean;
 | 
				
			||||||
 | 
					    classNames?: ModalVideoClassnames;
 | 
				
			||||||
 | 
					    ratio?: string;
 | 
				
			||||||
 | 
					    animationSpeed?: number;
 | 
				
			||||||
 | 
					    allowFullScreen?: boolean;
 | 
				
			||||||
 | 
					    aria?: Aria;
 | 
				
			||||||
 | 
					    videoId?: string;
 | 
				
			||||||
 | 
					    channel?: string;
 | 
				
			||||||
 | 
					    youtube?: any;
 | 
				
			||||||
 | 
					    vimeo?: any;
 | 
				
			||||||
 | 
					    youku?: any;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface ModalVideoState {
 | 
				
			||||||
 | 
					    isOpen: boolean;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export class ModalVideo extends React.Component<ModalVideoProps, ModalVideoState> {
 | 
				
			||||||
 | 
					    public static defaultProps: ModalVideoProps = {
 | 
				
			||||||
 | 
					        channel: 'youtube',
 | 
				
			||||||
 | 
					        isOpen: false,
 | 
				
			||||||
 | 
					        youtube: {
 | 
				
			||||||
 | 
					            autoplay: 1,
 | 
				
			||||||
 | 
					            cc_load_policy: 1,
 | 
				
			||||||
 | 
					            color: null,
 | 
				
			||||||
 | 
					            controls: 1,
 | 
				
			||||||
 | 
					            disablekb: 0,
 | 
				
			||||||
 | 
					            enablejsapi: 0,
 | 
				
			||||||
 | 
					            end: null,
 | 
				
			||||||
 | 
					            fs: 1,
 | 
				
			||||||
 | 
					            h1: null,
 | 
				
			||||||
 | 
					            iv_load_policy: 1,
 | 
				
			||||||
 | 
					            list: null,
 | 
				
			||||||
 | 
					            listType: null,
 | 
				
			||||||
 | 
					            loop: 0,
 | 
				
			||||||
 | 
					            modestbranding: null,
 | 
				
			||||||
 | 
					            origin: null,
 | 
				
			||||||
 | 
					            playlist: null,
 | 
				
			||||||
 | 
					            playsinline: null,
 | 
				
			||||||
 | 
					            rel: 0,
 | 
				
			||||||
 | 
					            showinfo: 1,
 | 
				
			||||||
 | 
					            start: 0,
 | 
				
			||||||
 | 
					            wmode: 'transparent',
 | 
				
			||||||
 | 
					            theme: 'dark',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        ratio: '16:9',
 | 
				
			||||||
 | 
					        vimeo: {
 | 
				
			||||||
 | 
					            api: false,
 | 
				
			||||||
 | 
					            autopause: true,
 | 
				
			||||||
 | 
					            autoplay: true,
 | 
				
			||||||
 | 
					            byline: true,
 | 
				
			||||||
 | 
					            callback: null,
 | 
				
			||||||
 | 
					            color: null,
 | 
				
			||||||
 | 
					            height: null,
 | 
				
			||||||
 | 
					            loop: false,
 | 
				
			||||||
 | 
					            maxheight: null,
 | 
				
			||||||
 | 
					            maxwidth: null,
 | 
				
			||||||
 | 
					            player_id: null,
 | 
				
			||||||
 | 
					            portrait: true,
 | 
				
			||||||
 | 
					            title: true,
 | 
				
			||||||
 | 
					            width: null,
 | 
				
			||||||
 | 
					            xhtml: false,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        youku: {
 | 
				
			||||||
 | 
					            autoplay: 1,
 | 
				
			||||||
 | 
					            show_related: 0,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        allowFullScreen: true,
 | 
				
			||||||
 | 
					        animationSpeed: 300,
 | 
				
			||||||
 | 
					        classNames: {
 | 
				
			||||||
 | 
					            modalVideoEffect: 'modal-video-effect',
 | 
				
			||||||
 | 
					            modalVideo: 'modal-video',
 | 
				
			||||||
 | 
					            modalVideoClose: 'modal-video-close',
 | 
				
			||||||
 | 
					            modalVideoBody: 'modal-video-body',
 | 
				
			||||||
 | 
					            modalVideoInner: 'modal-video-inner',
 | 
				
			||||||
 | 
					            modalVideoIframeWrap: 'modal-video-movie-wrap',
 | 
				
			||||||
 | 
					            modalVideoCloseBtn: 'modal-video-close-btn',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        aria: {
 | 
				
			||||||
 | 
					            openMessage: 'You just openned the modal video',
 | 
				
			||||||
 | 
					            dismissBtnMessage: 'Close the modal by clicking here',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    public modal: any;
 | 
				
			||||||
 | 
					    public modalbtn: any;
 | 
				
			||||||
 | 
					    constructor(props: ModalVideoProps) {
 | 
				
			||||||
 | 
					        super(props);
 | 
				
			||||||
 | 
					        this.state = {
 | 
				
			||||||
 | 
					            isOpen: false,
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        this.closeModal = this.closeModal.bind(this);
 | 
				
			||||||
 | 
					        this.updateFocus = this.updateFocus.bind(this);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public openModal(): void {
 | 
				
			||||||
 | 
					        this.setState({ isOpen: true });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public closeModal(): void {
 | 
				
			||||||
 | 
					        this.setState({ isOpen: false });
 | 
				
			||||||
 | 
					        if (typeof this.props.onClose === 'function') {
 | 
				
			||||||
 | 
					            this.props.onClose();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public keydownHandler(e: any): void {
 | 
				
			||||||
 | 
					        if (e.keyCode === 27) {
 | 
				
			||||||
 | 
					            this.closeModal();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public componentDidMount(): void {
 | 
				
			||||||
 | 
					        document.addEventListener('keydown', this.keydownHandler.bind(this));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public componentWillUnmount(): void {
 | 
				
			||||||
 | 
					        document.removeEventListener('keydown', this.keydownHandler.bind(this));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public componentWillReceiveProps(nextProps: ModalVideoProps): void {
 | 
				
			||||||
 | 
					        this.setState({ isOpen: nextProps.isOpen });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public componentDidUpdate(): void {
 | 
				
			||||||
 | 
					        if (this.state.isOpen && this.modal) {
 | 
				
			||||||
 | 
					            this.modal.focus();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public updateFocus(e: any): void {
 | 
				
			||||||
 | 
					        if (e.keyCode === 9) {
 | 
				
			||||||
 | 
					            e.preventDefault();
 | 
				
			||||||
 | 
					            e.stopPropagation();
 | 
				
			||||||
 | 
					            if (this.modal === document.activeElement) {
 | 
				
			||||||
 | 
					                this.modalbtn.focus();
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                this.modal.focus();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public getQueryString(obj: any): string {
 | 
				
			||||||
 | 
					        let url = '';
 | 
				
			||||||
 | 
					        for (const key of Object.keys(obj)) {
 | 
				
			||||||
 | 
					            if (obj.hasOwnProperty(key)) {
 | 
				
			||||||
 | 
					                if (obj[key] !== null) {
 | 
				
			||||||
 | 
					                    url += `${key}=${obj[key]}&`;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return url.substr(0, url.length - 1);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public getYoutubeUrl(youtube: any, videoId: string): string {
 | 
				
			||||||
 | 
					        const query = this.getQueryString(youtube);
 | 
				
			||||||
 | 
					        return `//www.youtube.com/embed/${videoId}?${query}`;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public getVimeoUrl(vimeo: any, videoId: string): string {
 | 
				
			||||||
 | 
					        const query = this.getQueryString(vimeo);
 | 
				
			||||||
 | 
					        return `//play.vimeo.com/video/${videoId}?${query}`;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public getYoukuUrl(youku: any, videoId: string): string {
 | 
				
			||||||
 | 
					        const query = this.getQueryString(youku);
 | 
				
			||||||
 | 
					        return `//player.youku.com/embed/${videoId}?${query}`;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public getVideoUrl(opt: any, videoId: string): string {
 | 
				
			||||||
 | 
					        if (opt.channel === 'youtube') {
 | 
				
			||||||
 | 
					            return this.getYoutubeUrl(opt.youtube, videoId);
 | 
				
			||||||
 | 
					        } else if (opt.channel === 'vimeo') {
 | 
				
			||||||
 | 
					            return this.getVimeoUrl(opt.vimeo, videoId);
 | 
				
			||||||
 | 
					        } else if (opt.channel === 'youku') {
 | 
				
			||||||
 | 
					            return this.getYoukuUrl(opt.youku, videoId);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return '';
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public getPadding(ratio: string): string {
 | 
				
			||||||
 | 
					        const arr = ratio.split(':');
 | 
				
			||||||
 | 
					        const width = Number(arr[0]);
 | 
				
			||||||
 | 
					        const height = Number(arr[1]);
 | 
				
			||||||
 | 
					        const padding = (height * 100) / width;
 | 
				
			||||||
 | 
					        return `${padding}%`;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public render(): React.ReactNode {
 | 
				
			||||||
 | 
					        const style = {
 | 
				
			||||||
 | 
					            paddingBottom: this.getPadding(this.props.ratio),
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        return (
 | 
				
			||||||
 | 
					            <CSSTransition classNames={this.props.classNames.modalVideoEffect} timeout={this.props.animationSpeed}>
 | 
				
			||||||
 | 
					                {() => {
 | 
				
			||||||
 | 
					                    if (!this.state.isOpen) {
 | 
				
			||||||
 | 
					                        return null;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    return (
 | 
				
			||||||
 | 
					                        <div
 | 
				
			||||||
 | 
					                            className={this.props.classNames.modalVideo}
 | 
				
			||||||
 | 
					                            tabIndex={-1}
 | 
				
			||||||
 | 
					                            role="dialog"
 | 
				
			||||||
 | 
					                            aria-label={this.props.aria.openMessage}
 | 
				
			||||||
 | 
					                            onClick={this.closeModal}
 | 
				
			||||||
 | 
					                            ref={node => {
 | 
				
			||||||
 | 
					                                this.modal = node;
 | 
				
			||||||
 | 
					                            }}
 | 
				
			||||||
 | 
					                            onKeyDown={this.updateFocus}
 | 
				
			||||||
 | 
					                        >
 | 
				
			||||||
 | 
					                            <div className={this.props.classNames.modalVideoBody}>
 | 
				
			||||||
 | 
					                                <div className={this.props.classNames.modalVideoInner}>
 | 
				
			||||||
 | 
					                                    <div className={this.props.classNames.modalVideoIframeWrap} style={style}>
 | 
				
			||||||
 | 
					                                        <button
 | 
				
			||||||
 | 
					                                            className={this.props.classNames.modalVideoCloseBtn}
 | 
				
			||||||
 | 
					                                            aria-label={this.props.aria.dismissBtnMessage}
 | 
				
			||||||
 | 
					                                            ref={node => {
 | 
				
			||||||
 | 
					                                                this.modalbtn = node;
 | 
				
			||||||
 | 
					                                            }}
 | 
				
			||||||
 | 
					                                            onKeyDown={this.updateFocus}
 | 
				
			||||||
 | 
					                                        />
 | 
				
			||||||
 | 
					                                        <iframe
 | 
				
			||||||
 | 
					                                            width="920"
 | 
				
			||||||
 | 
					                                            height="460"
 | 
				
			||||||
 | 
					                                            allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
 | 
				
			||||||
 | 
					                                            src={this.getVideoUrl(this.props, this.props.videoId)}
 | 
				
			||||||
 | 
					                                            frameBorder="0"
 | 
				
			||||||
 | 
					                                            allowFullScreen={this.props.allowFullScreen}
 | 
				
			||||||
 | 
					                                            tabIndex={-1}
 | 
				
			||||||
 | 
					                                        />
 | 
				
			||||||
 | 
					                                    </div>
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                    );
 | 
				
			||||||
 | 
					                }}
 | 
				
			||||||
 | 
					            </CSSTransition>
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -3,8 +3,10 @@ import * as React from 'react';
 | 
				
			|||||||
import { Button } from 'ts/components/button';
 | 
					import { Button } from 'ts/components/button';
 | 
				
			||||||
import { Hero } from 'ts/components/hero';
 | 
					import { Hero } from 'ts/components/hero';
 | 
				
			||||||
import { LandingAnimation } from 'ts/components/heroImage';
 | 
					import { LandingAnimation } from 'ts/components/heroImage';
 | 
				
			||||||
 | 
					import { Icon } from 'ts/components/icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { HeroAnimation } from 'ts/components/heroAnimation';
 | 
					import { HeroAnimation } from 'ts/components/heroAnimation';
 | 
				
			||||||
 | 
					import { ModalVideo } from 'ts/components/modals/modal_video';
 | 
				
			||||||
import { WebsitePaths } from 'ts/types';
 | 
					import { WebsitePaths } from 'ts/types';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// const announcement = {
 | 
					// const announcement = {
 | 
				
			||||||
@@ -13,26 +15,68 @@ import { WebsitePaths } from 'ts/types';
 | 
				
			|||||||
//     shouldOpenInNewTab: false,
 | 
					//     shouldOpenInNewTab: false,
 | 
				
			||||||
// };
 | 
					// };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const SectionLandingHero = () => (
 | 
					export interface SectionlandingHeroProps {}
 | 
				
			||||||
 | 
					export interface SectionLandingHeroState {
 | 
				
			||||||
 | 
					    isVideoOpen: boolean;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export class SectionLandingHero extends React.Component<SectionlandingHeroProps, SectionLandingHeroState> {
 | 
				
			||||||
 | 
					    public state: SectionLandingHeroState = {
 | 
				
			||||||
 | 
					        isVideoOpen: false,
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public render(): React.ReactNode {
 | 
				
			||||||
 | 
					        const { isVideoOpen } = this.state;
 | 
				
			||||||
 | 
					        return (
 | 
				
			||||||
 | 
					            <>
 | 
				
			||||||
                <Hero
 | 
					                <Hero
 | 
				
			||||||
                    title="Powering Decentralized Exchange"
 | 
					                    title="Powering Decentralized Exchange"
 | 
				
			||||||
                    isLargeTitle={true}
 | 
					                    isLargeTitle={true}
 | 
				
			||||||
                    isFullWidth={true}
 | 
					                    isFullWidth={true}
 | 
				
			||||||
                    description="0x is an open protocol that enables the peer-to-peer exchange of assets on the Ethereum blockchain."
 | 
					                    description="0x is an open protocol that enables the peer-to-peer exchange of assets on the Ethereum blockchain."
 | 
				
			||||||
                    figure={<LandingAnimation image={<HeroAnimation />} />}
 | 
					                    figure={<LandingAnimation image={<HeroAnimation />} />}
 | 
				
			||||||
        actions={<HeroActions />}
 | 
					                    actions={<HeroActions onPlayVideoClick={this._openModalVideo} />}
 | 
				
			||||||
                    // announcement={announcement}
 | 
					                    // announcement={announcement}
 | 
				
			||||||
                />
 | 
					                />
 | 
				
			||||||
 | 
					                <ModalVideo
 | 
				
			||||||
 | 
					                    channel="youtube"
 | 
				
			||||||
 | 
					                    isOpen={isVideoOpen}
 | 
				
			||||||
 | 
					                    videoId="c04eIt3FQ5I"
 | 
				
			||||||
 | 
					                    onClose={this._closeModalVideo}
 | 
				
			||||||
 | 
					                    youtube={{
 | 
				
			||||||
 | 
					                        autoplay: 1,
 | 
				
			||||||
 | 
					                        controls: 0,
 | 
				
			||||||
 | 
					                        showinfo: 0,
 | 
				
			||||||
 | 
					                        modestbranding: 1,
 | 
				
			||||||
 | 
					                    }}
 | 
				
			||||||
 | 
					                    ratio="21:9"
 | 
				
			||||||
 | 
					                />
 | 
				
			||||||
 | 
					            </>
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const HeroActions = () => (
 | 
					    private _closeModalVideo = (): void => {
 | 
				
			||||||
 | 
					        this.setState({ isVideoOpen: false });
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private _openModalVideo = (): void => {
 | 
				
			||||||
 | 
					        this.setState({ isVideoOpen: true });
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface HeroActionsProps {
 | 
				
			||||||
 | 
					    onPlayVideoClick: () => void;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const HeroActions: React.FC<HeroActionsProps> = props => (
 | 
				
			||||||
    <>
 | 
					    <>
 | 
				
			||||||
        <Button href="https://0x.org/docs" isInline={true}>
 | 
					        <Button href="https://0x.org/docs" isInline={true}>
 | 
				
			||||||
            Get Started
 | 
					            Get Started
 | 
				
			||||||
        </Button>
 | 
					        </Button>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <Button to={WebsitePaths.Why} isTransparent={true} isInline={true}>
 | 
					        <Button shouldUseAnchorTag={true} onClick={props.onPlayVideoClick} isTransparent={true} isInline={true}>
 | 
				
			||||||
            Learn More
 | 
					            <Icon name="play" size={16} margin={[0, 16, 0, -16]} />
 | 
				
			||||||
 | 
					            Play Video
 | 
				
			||||||
        </Button>
 | 
					        </Button>
 | 
				
			||||||
    </>
 | 
					    </>
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								packages/website/ts/globals.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								packages/website/ts/globals.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -12,6 +12,7 @@ declare module 'react-scrollable-anchor';
 | 
				
			|||||||
declare module 'react-headroom';
 | 
					declare module 'react-headroom';
 | 
				
			||||||
declare module 'zeroExInstant';
 | 
					declare module 'zeroExInstant';
 | 
				
			||||||
declare module 'react-toggle-component';
 | 
					declare module 'react-toggle-component';
 | 
				
			||||||
 | 
					declare module 'react-modal-video';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '*.json' {
 | 
					declare module '*.json' {
 | 
				
			||||||
    const json: any;
 | 
					    const json: any;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								packages/website/ts/icons/illustrations/play.svg
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								packages/website/ts/icons/illustrations/play.svg
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					<svg width="14" height="16" viewBox="0 0 14 16" fill="none" xmlns="http://www.w3.org/2000/svg">
 | 
				
			||||||
 | 
					<path d="M0 16V0L13.3333 7.56757L0 16Z" fill="white"/>
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 158 B  | 
@@ -38,6 +38,7 @@ tradeHistoryStorage.clearIfRequired();
 | 
				
			|||||||
trackedTokenStorage.clearIfRequired();
 | 
					trackedTokenStorage.clearIfRequired();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import 'less/all.less';
 | 
					import 'less/all.less';
 | 
				
			||||||
 | 
					import 'react-modal-video/scss/modal-video.scss';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// We pass modulePromise returning lambda instead of module promise,
 | 
					// We pass modulePromise returning lambda instead of module promise,
 | 
				
			||||||
// cause we only want to import the module when the user navigates to the page.
 | 
					// cause we only want to import the module when the user navigates to the page.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,7 @@ const config = {
 | 
				
			|||||||
        publicPath: '/',
 | 
					        publicPath: '/',
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    externals: {
 | 
					    externals: {
 | 
				
			||||||
        zeroExInstant: 'zeroExInstant'
 | 
					        zeroExInstant: 'zeroExInstant',
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    devtool: 'source-map',
 | 
					    devtool: 'source-map',
 | 
				
			||||||
    resolve: {
 | 
					    resolve: {
 | 
				
			||||||
@@ -55,6 +55,10 @@ const config = {
 | 
				
			|||||||
                loader: 'style-loader!css-loader!less-loader',
 | 
					                loader: 'style-loader!css-loader!less-loader',
 | 
				
			||||||
                exclude: /node_modules/,
 | 
					                exclude: /node_modules/,
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                test: /\.scss$/,
 | 
				
			||||||
 | 
					                use: ['style-loader', 'css-loader', 'sass-loader'],
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                test: /\.css$/,
 | 
					                test: /\.css$/,
 | 
				
			||||||
                loaders: ['style-loader', 'css-loader'],
 | 
					                loaders: ['style-loader', 'css-loader'],
 | 
				
			||||||
@@ -63,16 +67,14 @@ const config = {
 | 
				
			|||||||
                test: /\.svg$/,
 | 
					                test: /\.svg$/,
 | 
				
			||||||
                use: [
 | 
					                use: [
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        loader: "react-svg-loader",
 | 
					                        loader: 'react-svg-loader',
 | 
				
			||||||
                        options: {
 | 
					                        options: {
 | 
				
			||||||
                            svgo: {
 | 
					                            svgo: {
 | 
				
			||||||
                                plugins: [
 | 
					                                plugins: [{ removeViewBox: false }],
 | 
				
			||||||
                                    { removeViewBox: false }
 | 
					                            },
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                ]
 | 
					 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -109,8 +111,8 @@ const config = {
 | 
				
			|||||||
        // Source: https://github.com/webpack/webpack-dev-server/issues/1491
 | 
					        // Source: https://github.com/webpack/webpack-dev-server/issues/1491
 | 
				
			||||||
        https: {
 | 
					        https: {
 | 
				
			||||||
            spdy: {
 | 
					            spdy: {
 | 
				
			||||||
                protocols: ['http/1.1']
 | 
					                protocols: ['http/1.1'],
 | 
				
			||||||
            }
 | 
					            },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
@@ -119,9 +121,7 @@ module.exports = (_env, argv) => {
 | 
				
			|||||||
    let plugins = [];
 | 
					    let plugins = [];
 | 
				
			||||||
    if (argv.mode === 'development') {
 | 
					    if (argv.mode === 'development') {
 | 
				
			||||||
        config.mode = 'development';
 | 
					        config.mode = 'development';
 | 
				
			||||||
        plugins.concat([
 | 
					        plugins.concat([new BundleAnalyzerPlugin()]);
 | 
				
			||||||
            new BundleAnalyzerPlugin(),
 | 
					 | 
				
			||||||
        ]);
 | 
					 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        config.mode = 'production';
 | 
					        config.mode = 'production';
 | 
				
			||||||
        plugins = plugins.concat([
 | 
					        plugins = plugins.concat([
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										305
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										305
									
								
								yarn.lock
									
									
									
									
									
								
							@@ -875,6 +875,13 @@
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    regenerator-runtime "^0.12.0"
 | 
					    regenerator-runtime "^0.12.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"@babel/runtime@^7.4.5":
 | 
				
			||||||
 | 
					  version "7.5.5"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132"
 | 
				
			||||||
 | 
					  integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    regenerator-runtime "^0.13.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@babel/types@^7.0.0":
 | 
					"@babel/types@^7.0.0":
 | 
				
			||||||
  version "7.1.3"
 | 
					  version "7.1.3"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz#3a767004567060c2f40fca49a304712c525ee37d"
 | 
					  resolved "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz#3a767004567060c2f40fca49a304712c525ee37d"
 | 
				
			||||||
@@ -1688,13 +1695,6 @@
 | 
				
			|||||||
  version "0.22.9"
 | 
					  version "0.22.9"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.9.tgz#b5990152604c2ada749b7f88cab3476f21f39d7b"
 | 
					  resolved "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.9.tgz#b5990152604c2ada749b7f88cab3476f21f39d7b"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@types/chokidar@^1.7.5":
 | 
					 | 
				
			||||||
  version "1.7.5"
 | 
					 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@types/chokidar/-/chokidar-1.7.5.tgz#1fa78c8803e035bed6d98e6949e514b133b0c9b6"
 | 
					 | 
				
			||||||
  dependencies:
 | 
					 | 
				
			||||||
    "@types/events" "*"
 | 
					 | 
				
			||||||
    "@types/node" "*"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"@types/deep-equal@^1.0.0":
 | 
					"@types/deep-equal@^1.0.0":
 | 
				
			||||||
  version "1.0.1"
 | 
					  version "1.0.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@types/deep-equal/-/deep-equal-1.0.1.tgz#71cfabb247c22bcc16d536111f50c0ed12476b03"
 | 
					  resolved "https://registry.yarnpkg.com/@types/deep-equal/-/deep-equal-1.0.1.tgz#71cfabb247c22bcc16d536111f50c0ed12476b03"
 | 
				
			||||||
@@ -2037,6 +2037,13 @@
 | 
				
			|||||||
  version "0.0.30"
 | 
					  version "0.0.30"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@types/react-tap-event-plugin/-/react-tap-event-plugin-0.0.30.tgz#123f35080412f489b6770c5a65c159ff96654cb5"
 | 
					  resolved "https://registry.yarnpkg.com/@types/react-tap-event-plugin/-/react-tap-event-plugin-0.0.30.tgz#123f35080412f489b6770c5a65c159ff96654cb5"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"@types/react-transition-group@^4.2.0":
 | 
				
			||||||
 | 
					  version "4.2.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.2.0.tgz#86ddb509ce3de27341c7cb7797abb99b1c4676bf"
 | 
				
			||||||
 | 
					  integrity sha512-8KkpFRwqS9U1dtVVw1kt/MmWgLmbd5iK5TgqsaeC7fAm74J4j/HiBiRC8eETvwjGGju48RAwyZ3l5iv1H1x93Q==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    "@types/react" "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@types/react@*", "@types/react@16.4.16":
 | 
					"@types/react@*", "@types/react@16.4.16":
 | 
				
			||||||
  version "16.4.16"
 | 
					  version "16.4.16"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/@types/react/-/react-16.4.16.tgz#99f91b1200ae8c2062030402006d3b3c3a177043"
 | 
					  resolved "https://registry.npmjs.org/@types/react/-/react-16.4.16.tgz#99f91b1200ae8c2062030402006d3b3c3a177043"
 | 
				
			||||||
@@ -2777,6 +2784,11 @@ async-eventemitter@ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    async "^2.4.0"
 | 
					    async "^2.4.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					async-foreach@^0.1.3:
 | 
				
			||||||
 | 
					  version "0.1.3"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
 | 
				
			||||||
 | 
					  integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async-limiter@~1.0.0:
 | 
					async-limiter@~1.0.0:
 | 
				
			||||||
  version "1.0.0"
 | 
					  version "1.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
 | 
					  resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
 | 
				
			||||||
@@ -3933,6 +3945,13 @@ braces@^2.3.1, braces@^2.3.2:
 | 
				
			|||||||
    split-string "^3.0.2"
 | 
					    split-string "^3.0.2"
 | 
				
			||||||
    to-regex "^3.0.1"
 | 
					    to-regex "^3.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					braces@^3.0.2:
 | 
				
			||||||
 | 
					  version "3.0.2"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
 | 
				
			||||||
 | 
					  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    fill-range "^7.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
broadway@~0.3.2, broadway@~0.3.6:
 | 
					broadway@~0.3.2, broadway@~0.3.6:
 | 
				
			||||||
  version "0.3.6"
 | 
					  version "0.3.6"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/broadway/-/broadway-0.3.6.tgz#7dbef068b954b7907925fd544963b578a902ba7a"
 | 
					  resolved "https://registry.yarnpkg.com/broadway/-/broadway-0.3.6.tgz#7dbef068b954b7907925fd544963b578a902ba7a"
 | 
				
			||||||
@@ -4745,6 +4764,16 @@ clone-buffer@^1.0.0:
 | 
				
			|||||||
  version "1.0.0"
 | 
					  version "1.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
 | 
					  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clone-deep@^2.0.1:
 | 
				
			||||||
 | 
					  version "2.0.2"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713"
 | 
				
			||||||
 | 
					  integrity sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    for-own "^1.0.0"
 | 
				
			||||||
 | 
					    is-plain-object "^2.0.4"
 | 
				
			||||||
 | 
					    kind-of "^6.0.0"
 | 
				
			||||||
 | 
					    shallow-clone "^1.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
clone-stats@^0.0.1:
 | 
					clone-stats@^0.0.1:
 | 
				
			||||||
  version "0.0.1"
 | 
					  version "0.0.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
 | 
					  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
 | 
				
			||||||
@@ -5373,6 +5402,14 @@ cross-fetch@^2.1.0:
 | 
				
			|||||||
    node-fetch "2.1.1"
 | 
					    node-fetch "2.1.1"
 | 
				
			||||||
    whatwg-fetch "2.0.3"
 | 
					    whatwg-fetch "2.0.3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cross-spawn@^3.0.0:
 | 
				
			||||||
 | 
					  version "3.0.1"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
 | 
				
			||||||
 | 
					  integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI=
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    lru-cache "^4.0.1"
 | 
				
			||||||
 | 
					    which "^1.2.9"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cross-spawn@^4, cross-spawn@^4.0.0:
 | 
					cross-spawn@^4, cross-spawn@^4.0.0:
 | 
				
			||||||
  version "4.0.2"
 | 
					  version "4.0.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
 | 
					  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
 | 
				
			||||||
@@ -6093,6 +6130,13 @@ dom-helpers@^3.2.0:
 | 
				
			|||||||
  version "3.3.1"
 | 
					  version "3.3.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.3.1.tgz#fc1a4e15ffdf60ddde03a480a9c0fece821dd4a6"
 | 
					  resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.3.1.tgz#fc1a4e15ffdf60ddde03a480a9c0fece821dd4a6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dom-helpers@^3.4.0:
 | 
				
			||||||
 | 
					  version "3.4.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8"
 | 
				
			||||||
 | 
					  integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    "@babel/runtime" "^7.1.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dom-serializer@0, dom-serializer@~0.1.0:
 | 
					dom-serializer@0, dom-serializer@~0.1.0:
 | 
				
			||||||
  version "0.1.0"
 | 
					  version "0.1.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
 | 
					  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
 | 
				
			||||||
@@ -7693,6 +7737,11 @@ for-each@^0.3.2, for-each@~0.3.2:
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    is-function "~1.0.0"
 | 
					    is-function "~1.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for-in@^0.1.3:
 | 
				
			||||||
 | 
					  version "0.1.8"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1"
 | 
				
			||||||
 | 
					  integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for-in@^1.0.1, for-in@^1.0.2:
 | 
					for-in@^1.0.1, for-in@^1.0.2:
 | 
				
			||||||
  version "1.0.2"
 | 
					  version "1.0.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
 | 
					  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
 | 
				
			||||||
@@ -7986,6 +8035,13 @@ gaze@^0.5.1:
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    globule "~0.1.0"
 | 
					    globule "~0.1.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					gaze@^1.0.0:
 | 
				
			||||||
 | 
					  version "1.1.3"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
 | 
				
			||||||
 | 
					  integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    globule "^1.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
genfun@^4.0.1:
 | 
					genfun@^4.0.1:
 | 
				
			||||||
  version "4.0.1"
 | 
					  version "4.0.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/genfun/-/genfun-4.0.1.tgz#ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1"
 | 
					  resolved "https://registry.yarnpkg.com/genfun/-/genfun-4.0.1.tgz#ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1"
 | 
				
			||||||
@@ -8242,7 +8298,7 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, gl
 | 
				
			|||||||
    once "^1.3.0"
 | 
					    once "^1.3.0"
 | 
				
			||||||
    path-is-absolute "^1.0.0"
 | 
					    path-is-absolute "^1.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
glob@^7.1.4:
 | 
					glob@^7.1.4, glob@~7.1.1:
 | 
				
			||||||
  version "7.1.4"
 | 
					  version "7.1.4"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
 | 
					  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
@@ -8361,6 +8417,15 @@ globby@^9.2.0:
 | 
				
			|||||||
    pify "^4.0.1"
 | 
					    pify "^4.0.1"
 | 
				
			||||||
    slash "^2.0.0"
 | 
					    slash "^2.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					globule@^1.0.0:
 | 
				
			||||||
 | 
					  version "1.2.1"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d"
 | 
				
			||||||
 | 
					  integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    glob "~7.1.1"
 | 
				
			||||||
 | 
					    lodash "~4.17.10"
 | 
				
			||||||
 | 
					    minimatch "~3.0.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
globule@~0.1.0:
 | 
					globule@~0.1.0:
 | 
				
			||||||
  version "0.1.0"
 | 
					  version "0.1.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
 | 
					  resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
 | 
				
			||||||
@@ -8416,10 +8481,27 @@ got@^6.7.1:
 | 
				
			|||||||
    unzip-response "^2.0.1"
 | 
					    unzip-response "^2.0.1"
 | 
				
			||||||
    url-parse-lax "^1.0.0"
 | 
					    url-parse-lax "^1.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
graceful-fs@4.1.15, graceful-fs@^3.0.0, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@~1.2.0:
 | 
					graceful-fs@^3.0.0:
 | 
				
			||||||
 | 
					  version "3.0.11"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
 | 
				
			||||||
 | 
					  integrity sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    natives "^1.1.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
 | 
				
			||||||
  version "4.1.15"
 | 
					  version "4.1.15"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
 | 
					  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					graceful-fs@^4.2.0:
 | 
				
			||||||
 | 
					  version "4.2.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
 | 
				
			||||||
 | 
					  integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					graceful-fs@~1.2.0:
 | 
				
			||||||
 | 
					  version "1.2.3"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
 | 
				
			||||||
 | 
					  integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"graceful-readlink@>= 1.0.0":
 | 
					"graceful-readlink@>= 1.0.0":
 | 
				
			||||||
  version "1.0.1"
 | 
					  version "1.0.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
 | 
					  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
 | 
				
			||||||
@@ -9081,6 +9163,11 @@ imurmurhash@^0.1.4:
 | 
				
			|||||||
  version "0.1.4"
 | 
					  version "0.1.4"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
 | 
					  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					in-publish@^2.0.0:
 | 
				
			||||||
 | 
					  version "2.0.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
 | 
				
			||||||
 | 
					  integrity sha1-4g/146KvwmkDILbcVSaCqcf631E=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
indent-string@^2.1.0:
 | 
					indent-string@^2.1.0:
 | 
				
			||||||
  version "2.1.0"
 | 
					  version "2.1.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
 | 
					  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
 | 
				
			||||||
@@ -10158,6 +10245,11 @@ jmespath@0.15.0:
 | 
				
			|||||||
  version "0.15.0"
 | 
					  version "0.15.0"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
 | 
					  resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					js-base64@^2.1.8:
 | 
				
			||||||
 | 
					  version "2.5.1"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
 | 
				
			||||||
 | 
					  integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
js-base64@^2.1.9:
 | 
					js-base64@^2.1.9:
 | 
				
			||||||
  version "2.4.3"
 | 
					  version "2.4.3"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582"
 | 
					  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582"
 | 
				
			||||||
@@ -10186,7 +10278,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
 | 
				
			|||||||
  version "3.0.2"
 | 
					  version "3.0.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
 | 
					  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
js-tokens@^4.0.0:
 | 
					"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
 | 
				
			||||||
  version "4.0.0"
 | 
					  version "4.0.0"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
 | 
					  resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -10815,7 +10907,7 @@ loader-utils@^0.2.16, loader-utils@~0.2.2:
 | 
				
			|||||||
    json5 "^0.5.0"
 | 
					    json5 "^0.5.0"
 | 
				
			||||||
    object-assign "^4.0.1"
 | 
					    object-assign "^4.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
loader-utils@^1.0.2:
 | 
					loader-utils@^1.0.1, loader-utils@^1.0.2:
 | 
				
			||||||
  version "1.2.3"
 | 
					  version "1.2.3"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
 | 
					  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
@@ -11010,6 +11102,11 @@ lodash.sortby@^4.7.0:
 | 
				
			|||||||
  version "4.7.0"
 | 
					  version "4.7.0"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
 | 
					  resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lodash.tail@^4.1.1:
 | 
				
			||||||
 | 
					  version "4.1.1"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
 | 
				
			||||||
 | 
					  integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
lodash.template@^3.0.0:
 | 
					lodash.template@^3.0.0:
 | 
				
			||||||
  version "3.6.2"
 | 
					  version "3.6.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
 | 
					  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
 | 
				
			||||||
@@ -11074,7 +11171,7 @@ lodash@4.17.11:
 | 
				
			|||||||
  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
 | 
					  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
 | 
				
			||||||
  integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
 | 
					  integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1:
 | 
					lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@~4.17.10:
 | 
				
			||||||
  version "4.17.15"
 | 
					  version "4.17.15"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
 | 
					  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
 | 
				
			||||||
  integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
 | 
					  integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
 | 
				
			||||||
@@ -11136,6 +11233,13 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    js-tokens "^3.0.0"
 | 
					    js-tokens "^3.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					loose-envify@^1.4.0:
 | 
				
			||||||
 | 
					  version "1.4.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
 | 
				
			||||||
 | 
					  integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    js-tokens "^3.0.0 || ^4.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
lottie-web@^5.1.3:
 | 
					lottie-web@^5.1.3:
 | 
				
			||||||
  version "5.4.1"
 | 
					  version "5.4.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/lottie-web/-/lottie-web-5.4.1.tgz#98465741d4907293656cab31e395d79d0546ef26"
 | 
					  resolved "https://registry.yarnpkg.com/lottie-web/-/lottie-web-5.4.1.tgz#98465741d4907293656cab31e395d79d0546ef26"
 | 
				
			||||||
@@ -11727,6 +11831,14 @@ mixin-deep@^1.2.0:
 | 
				
			|||||||
    for-in "^1.0.2"
 | 
					    for-in "^1.0.2"
 | 
				
			||||||
    is-extendable "^1.0.1"
 | 
					    is-extendable "^1.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mixin-object@^2.0.1:
 | 
				
			||||||
 | 
					  version "2.0.1"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e"
 | 
				
			||||||
 | 
					  integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    for-in "^0.1.3"
 | 
				
			||||||
 | 
					    is-extendable "^0.1.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mkdirp-promise@^5.0.1:
 | 
					mkdirp-promise@^5.0.1:
 | 
				
			||||||
  version "5.0.1"
 | 
					  version "5.0.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1"
 | 
					  resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1"
 | 
				
			||||||
@@ -11876,7 +11988,7 @@ nan@^2.11.0:
 | 
				
			|||||||
  version "2.12.1"
 | 
					  version "2.12.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552"
 | 
					  resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
nan@^2.12.1:
 | 
					nan@^2.12.1, nan@^2.13.2:
 | 
				
			||||||
  version "2.14.0"
 | 
					  version "2.14.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
 | 
					  resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -11901,6 +12013,11 @@ nanomatch@^1.2.9:
 | 
				
			|||||||
    snapdragon "^0.8.1"
 | 
					    snapdragon "^0.8.1"
 | 
				
			||||||
    to-regex "^3.0.1"
 | 
					    to-regex "^3.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					natives@^1.1.0:
 | 
				
			||||||
 | 
					  version "1.1.6"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb"
 | 
				
			||||||
 | 
					  integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
natural-compare@^1.4.0:
 | 
					natural-compare@^1.4.0:
 | 
				
			||||||
  version "1.4.0"
 | 
					  version "1.4.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
 | 
					  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
 | 
				
			||||||
@@ -12046,6 +12163,24 @@ node-gyp@^3.6.2:
 | 
				
			|||||||
    tar "^2.0.0"
 | 
					    tar "^2.0.0"
 | 
				
			||||||
    which "1"
 | 
					    which "1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					node-gyp@^3.8.0:
 | 
				
			||||||
 | 
					  version "3.8.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
 | 
				
			||||||
 | 
					  integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    fstream "^1.0.0"
 | 
				
			||||||
 | 
					    glob "^7.0.3"
 | 
				
			||||||
 | 
					    graceful-fs "^4.1.2"
 | 
				
			||||||
 | 
					    mkdirp "^0.5.0"
 | 
				
			||||||
 | 
					    nopt "2 || 3"
 | 
				
			||||||
 | 
					    npmlog "0 || 1 || 2 || 3 || 4"
 | 
				
			||||||
 | 
					    osenv "0"
 | 
				
			||||||
 | 
					    request "^2.87.0"
 | 
				
			||||||
 | 
					    rimraf "2"
 | 
				
			||||||
 | 
					    semver "~5.3.0"
 | 
				
			||||||
 | 
					    tar "^2.0.0"
 | 
				
			||||||
 | 
					    which "1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
node-gyp@^5.0.2:
 | 
					node-gyp@^5.0.2:
 | 
				
			||||||
  version "5.0.3"
 | 
					  version "5.0.3"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.0.3.tgz#80d64c23790244991b6d44532f0a351bedd3dd45"
 | 
					  resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.0.3.tgz#80d64c23790244991b6d44532f0a351bedd3dd45"
 | 
				
			||||||
@@ -12141,6 +12276,29 @@ node-pre-gyp@^0.12.0:
 | 
				
			|||||||
    semver "^5.3.0"
 | 
					    semver "^5.3.0"
 | 
				
			||||||
    tar "^4"
 | 
					    tar "^4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					node-sass@^4.12.0:
 | 
				
			||||||
 | 
					  version "4.12.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017"
 | 
				
			||||||
 | 
					  integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    async-foreach "^0.1.3"
 | 
				
			||||||
 | 
					    chalk "^1.1.1"
 | 
				
			||||||
 | 
					    cross-spawn "^3.0.0"
 | 
				
			||||||
 | 
					    gaze "^1.0.0"
 | 
				
			||||||
 | 
					    get-stdin "^4.0.1"
 | 
				
			||||||
 | 
					    glob "^7.0.3"
 | 
				
			||||||
 | 
					    in-publish "^2.0.0"
 | 
				
			||||||
 | 
					    lodash "^4.17.11"
 | 
				
			||||||
 | 
					    meow "^3.7.0"
 | 
				
			||||||
 | 
					    mkdirp "^0.5.1"
 | 
				
			||||||
 | 
					    nan "^2.13.2"
 | 
				
			||||||
 | 
					    node-gyp "^3.8.0"
 | 
				
			||||||
 | 
					    npmlog "^4.0.0"
 | 
				
			||||||
 | 
					    request "^2.88.0"
 | 
				
			||||||
 | 
					    sass-graph "^2.2.4"
 | 
				
			||||||
 | 
					    stdout-stream "^1.4.0"
 | 
				
			||||||
 | 
					    "true-case-path" "^1.0.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
nodemon@^1.11.0:
 | 
					nodemon@^1.11.0:
 | 
				
			||||||
  version "1.17.3"
 | 
					  version "1.17.3"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.17.3.tgz#3b0bbc2ee05ccb43b1aef15ba05c63c7bc9b8530"
 | 
					  resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.17.3.tgz#3b0bbc2ee05ccb43b1aef15ba05c63c7bc9b8530"
 | 
				
			||||||
@@ -12376,7 +12534,7 @@ npm-run-path@^2.0.0:
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    path-key "^2.0.0"
 | 
					    path-key "^2.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2:
 | 
					"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2:
 | 
				
			||||||
  version "4.1.2"
 | 
					  version "4.1.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
 | 
					  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
@@ -14224,9 +14382,9 @@ react-helmet@^5.2.0:
 | 
				
			|||||||
    prop-types "^15.5.4"
 | 
					    prop-types "^15.5.4"
 | 
				
			||||||
    react-side-effect "^1.1.0"
 | 
					    react-side-effect "^1.1.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"react-highlight@https://github.com/0xProject/react-highlight.git#a70c7631e09508dafc4719cbcc6f121074e1937d":
 | 
					react-highlight@0xproject/react-highlight#react-peer-deps:
 | 
				
			||||||
  version "1.0.0"
 | 
					  version "1.0.0"
 | 
				
			||||||
  resolved "https://github.com/0xProject/react-highlight.git#a70c7631e09508dafc4719cbcc6f121074e1937d"
 | 
					  resolved "https://codeload.github.com/0xproject/react-highlight/tar.gz/a70c7631e09508dafc4719cbcc6f121074e1937d"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    highlight.js "^9.11.0"
 | 
					    highlight.js "^9.11.0"
 | 
				
			||||||
    highlightjs-solidity "^1.0.5"
 | 
					    highlightjs-solidity "^1.0.5"
 | 
				
			||||||
@@ -14287,6 +14445,13 @@ react-markdown@^4.0.6:
 | 
				
			|||||||
    unist-util-visit "^1.3.0"
 | 
					    unist-util-visit "^1.3.0"
 | 
				
			||||||
    xtend "^4.0.1"
 | 
					    xtend "^4.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					react-modal-video@^1.2.2:
 | 
				
			||||||
 | 
					  version "1.2.2"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/react-modal-video/-/react-modal-video-1.2.2.tgz#d45069f112a4e79306470b7e893fbe03252b8e6b"
 | 
				
			||||||
 | 
					  integrity sha512-isfaRFvCZZRWkPvoPRzXL1FaHtI3PQHqkX2UrtOGjGUPNGZeMBDT5xPqON7h4e5CGvpf62XIq3lxT0InPKAUgw==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    react-transition-group "^2.2.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
react-popper@^1.0.0-beta.6:
 | 
					react-popper@^1.0.0-beta.6:
 | 
				
			||||||
  version "1.0.0-beta.6"
 | 
					  version "1.0.0-beta.6"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/react-popper/-/react-popper-1.0.0-beta.6.tgz#cb27a2ac56adccbaf5f9c4132387289069240834"
 | 
					  resolved "https://registry.npmjs.org/react-popper/-/react-popper-1.0.0-beta.6.tgz#cb27a2ac56adccbaf5f9c4132387289069240834"
 | 
				
			||||||
@@ -14430,6 +14595,26 @@ react-transition-group@^1.2.1:
 | 
				
			|||||||
    prop-types "^15.5.6"
 | 
					    prop-types "^15.5.6"
 | 
				
			||||||
    warning "^3.0.0"
 | 
					    warning "^3.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					react-transition-group@^2.2.1:
 | 
				
			||||||
 | 
					  version "2.9.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d"
 | 
				
			||||||
 | 
					  integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    dom-helpers "^3.4.0"
 | 
				
			||||||
 | 
					    loose-envify "^1.4.0"
 | 
				
			||||||
 | 
					    prop-types "^15.6.2"
 | 
				
			||||||
 | 
					    react-lifecycles-compat "^3.0.4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					react-transition-group@^4.2.1:
 | 
				
			||||||
 | 
					  version "4.2.1"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.2.1.tgz#61fc9e36568bff9a1fe4e60fae323c8a6dbc0680"
 | 
				
			||||||
 | 
					  integrity sha512-IXrPr93VzCPupwm2O6n6C2kJIofJ/Rp5Ltihhm9UfE8lkuVX2ng/SUUl/oWjblybK9Fq2Io7LGa6maVqPB762Q==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    "@babel/runtime" "^7.4.5"
 | 
				
			||||||
 | 
					    dom-helpers "^3.4.0"
 | 
				
			||||||
 | 
					    loose-envify "^1.4.0"
 | 
				
			||||||
 | 
					    prop-types "^15.6.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
react-typist@^2.0.4:
 | 
					react-typist@^2.0.4:
 | 
				
			||||||
  version "2.0.4"
 | 
					  version "2.0.4"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/react-typist/-/react-typist-2.0.4.tgz#e7ee4de53ead913d363d38f07b700c00ce271be0"
 | 
					  resolved "https://registry.npmjs.org/react-typist/-/react-typist-2.0.4.tgz#e7ee4de53ead913d363d38f07b700c00ce271be0"
 | 
				
			||||||
@@ -14943,7 +15128,7 @@ request@2.81.0, "request@>=2.9.0 <2.82.0":
 | 
				
			|||||||
    tunnel-agent "^0.6.0"
 | 
					    tunnel-agent "^0.6.0"
 | 
				
			||||||
    uuid "^3.0.0"
 | 
					    uuid "^3.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
request@^2.47.0, request@^2.87.0:
 | 
					request@^2.47.0, request@^2.87.0, request@^2.88.0:
 | 
				
			||||||
  version "2.88.0"
 | 
					  version "2.88.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
 | 
					  resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
@@ -15314,6 +15499,28 @@ sane@^2.0.0:
 | 
				
			|||||||
  optionalDependencies:
 | 
					  optionalDependencies:
 | 
				
			||||||
    fsevents "^1.2.3"
 | 
					    fsevents "^1.2.3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sass-graph@^2.2.4:
 | 
				
			||||||
 | 
					  version "2.2.4"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
 | 
				
			||||||
 | 
					  integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    glob "^7.0.0"
 | 
				
			||||||
 | 
					    lodash "^4.0.0"
 | 
				
			||||||
 | 
					    scss-tokenizer "^0.2.3"
 | 
				
			||||||
 | 
					    yargs "^7.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sass-loader@^7.1.0:
 | 
				
			||||||
 | 
					  version "7.1.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz#16fd5138cb8b424bf8a759528a1972d72aad069d"
 | 
				
			||||||
 | 
					  integrity sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    clone-deep "^2.0.1"
 | 
				
			||||||
 | 
					    loader-utils "^1.0.1"
 | 
				
			||||||
 | 
					    lodash.tail "^4.1.1"
 | 
				
			||||||
 | 
					    neo-async "^2.5.0"
 | 
				
			||||||
 | 
					    pify "^3.0.0"
 | 
				
			||||||
 | 
					    semver "^5.5.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sax@1.2.1:
 | 
					sax@1.2.1:
 | 
				
			||||||
  version "1.2.1"
 | 
					  version "1.2.1"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
 | 
					  resolved "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
 | 
				
			||||||
@@ -15382,6 +15589,14 @@ scryptsy@^1.2.1:
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    pbkdf2 "^3.0.3"
 | 
					    pbkdf2 "^3.0.3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					scss-tokenizer@^0.2.3:
 | 
				
			||||||
 | 
					  version "0.2.3"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
 | 
				
			||||||
 | 
					  integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE=
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    js-base64 "^2.1.8"
 | 
				
			||||||
 | 
					    source-map "^0.4.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
secp256k1@^3.0.1:
 | 
					secp256k1@^3.0.1:
 | 
				
			||||||
  version "3.5.0"
 | 
					  version "3.5.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.5.0.tgz#677d3b8a8e04e1a5fa381a1ae437c54207b738d0"
 | 
					  resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.5.0.tgz#677d3b8a8e04e1a5fa381a1ae437c54207b738d0"
 | 
				
			||||||
@@ -15595,6 +15810,15 @@ sha3@^1.1.0:
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    nan "2.10.0"
 | 
					    nan "2.10.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					shallow-clone@^1.0.0:
 | 
				
			||||||
 | 
					  version "1.0.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571"
 | 
				
			||||||
 | 
					  integrity sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    is-extendable "^0.1.1"
 | 
				
			||||||
 | 
					    kind-of "^5.0.0"
 | 
				
			||||||
 | 
					    mixin-object "^2.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
shallowequal@^0.2.2:
 | 
					shallowequal@^0.2.2:
 | 
				
			||||||
  version "0.2.2"
 | 
					  version "0.2.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e"
 | 
					  resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e"
 | 
				
			||||||
@@ -15940,6 +16164,13 @@ source-map-url@^0.4.0:
 | 
				
			|||||||
  version "0.4.0"
 | 
					  version "0.4.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
 | 
					  resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source-map@^0.4.2:
 | 
				
			||||||
 | 
					  version "0.4.4"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
 | 
				
			||||||
 | 
					  integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    amdefine ">=0.0.4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7:
 | 
					source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7:
 | 
				
			||||||
  version "0.5.7"
 | 
					  version "0.5.7"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
 | 
					  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
 | 
				
			||||||
@@ -16117,6 +16348,13 @@ statuses@~1.4.0:
 | 
				
			|||||||
  version "1.4.0"
 | 
					  version "1.4.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
 | 
					  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					stdout-stream@^1.4.0:
 | 
				
			||||||
 | 
					  version "1.4.1"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
 | 
				
			||||||
 | 
					  integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    readable-stream "^2.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
stealthy-require@^1.1.0:
 | 
					stealthy-require@^1.1.0:
 | 
				
			||||||
  version "1.1.1"
 | 
					  version "1.1.1"
 | 
				
			||||||
  resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
 | 
					  resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
 | 
				
			||||||
@@ -16953,6 +17191,13 @@ trough@^1.0.0:
 | 
				
			|||||||
  version "1.0.2"
 | 
					  version "1.0.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.2.tgz#7f1663ec55c480139e2de5e486c6aef6cc24a535"
 | 
					  resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.2.tgz#7f1663ec55c480139e2de5e486c6aef6cc24a535"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"true-case-path@^1.0.2":
 | 
				
			||||||
 | 
					  version "1.0.3"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
 | 
				
			||||||
 | 
					  integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    glob "^7.1.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
truffle-blockchain-utils@0.0.1:
 | 
					truffle-blockchain-utils@0.0.1:
 | 
				
			||||||
  version "0.0.1"
 | 
					  version "0.0.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/truffle-blockchain-utils/-/truffle-blockchain-utils-0.0.1.tgz#07a58e55bb0555a64208c9119c0b04ffe1464aa4"
 | 
					  resolved "https://registry.yarnpkg.com/truffle-blockchain-utils/-/truffle-blockchain-utils-0.0.1.tgz#07a58e55bb0555a64208c9119c0b04ffe1464aa4"
 | 
				
			||||||
@@ -18745,6 +18990,13 @@ yargs-parser@^2.4.1:
 | 
				
			|||||||
    camelcase "^3.0.0"
 | 
					    camelcase "^3.0.0"
 | 
				
			||||||
    lodash.assign "^4.0.6"
 | 
					    lodash.assign "^4.0.6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					yargs-parser@^5.0.0:
 | 
				
			||||||
 | 
					  version "5.0.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
 | 
				
			||||||
 | 
					  integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    camelcase "^3.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
yargs-parser@^7.0.0:
 | 
					yargs-parser@^7.0.0:
 | 
				
			||||||
  version "7.0.0"
 | 
					  version "7.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
 | 
					  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
 | 
				
			||||||
@@ -18908,6 +19160,25 @@ yargs@^4.7.1:
 | 
				
			|||||||
    y18n "^3.2.1"
 | 
					    y18n "^3.2.1"
 | 
				
			||||||
    yargs-parser "^2.4.1"
 | 
					    yargs-parser "^2.4.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					yargs@^7.0.0:
 | 
				
			||||||
 | 
					  version "7.1.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
 | 
				
			||||||
 | 
					  integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=
 | 
				
			||||||
 | 
					  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 "^5.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
yargs@^8.0.2:
 | 
					yargs@^8.0.2:
 | 
				
			||||||
  version "8.0.2"
 | 
					  version "8.0.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
 | 
					  resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user