From e34044634eb20c034c35f2b7d9722fc6f139ee32 Mon Sep 17 00:00:00 2001 From: Barry Gitarts Date: Thu, 19 Jul 2018 17:28:32 -0400 Subject: [PATCH] add initial drawfield layout --- app/components/draw/DrawField.js | 438 ++++++++++++++++++ app/components/draw/data.json.controlled.js | 474 ++++++++++++++++++++ app/components/draw/data.json.js | 417 +++++++++++++++++ app/components/draw/data.url.js | 1 + app/components/draw/draw.css | 26 ++ app/dapp.js | 8 +- package.json | 4 + 7 files changed, 1365 insertions(+), 3 deletions(-) create mode 100644 app/components/draw/DrawField.js create mode 100644 app/components/draw/data.json.controlled.js create mode 100644 app/components/draw/data.json.js create mode 100644 app/components/draw/data.url.js create mode 100644 app/components/draw/draw.css diff --git a/app/components/draw/DrawField.js b/app/components/draw/DrawField.js new file mode 100644 index 0000000..bffe8d3 --- /dev/null +++ b/app/components/draw/DrawField.js @@ -0,0 +1,438 @@ +import React from 'react'; +import { CompactPicker } from 'react-color'; +import 'flexboxgrid'; +import './draw.css'; +import { + AppBar, + Card, + CardHeader, + CardContent, + GridList, + GridTile, + IconButton, + MenuItem, + Button, + Select, + TextField, +} from '@material-ui/core'; +import Slider from '@material-ui/lab/Slider'; +import UndoIcon from '@material-ui/icons/Undo'; +import RedoIcon from '@material-ui/icons/Redo'; +import ClearIcon from '@material-ui/icons/Delete'; +import SaveIcon from '@material-ui/icons/Save'; +import RemoveIcon from '@material-ui/icons/Clear'; +import DownloadIcon from '@material-ui/icons/CloudDownload'; +import ZoomInIcon from '@material-ui/icons/ZoomIn'; +import ZoomOutIcon from '@material-ui/icons/ZoomOutMap'; +//TODO remove data assets +import dataJson from './data.json'; +import dataJsonControlled from './data.json.controlled'; +import dataUrl from './data.url'; + +import { SketchField, Tools } from 'react-sketch'; +import DropZone from 'react-dropzone'; + +const styles = { + root: { + padding: '3px', + display: 'flex', + flexWrap: 'wrap', + margin: '10px 10px 5px 10px', + justifyContent: 'space-around' + }, + gridList: { + width: '100%', + overflowY: 'auto', + marginBottom: '24px' + }, + gridTile: { + backgroundColor: '#fcfcfc' + }, + appBar: { + backgroundColor: '#333' + }, + radioButton: { + marginTop: '3px', + marginBottom: '3px' + }, + separator: { + height: '42px', + backgroundColor: 'white' + }, + iconButton: { + fill: 'white', + width: '42px', + height: '42px' + }, + dropArea: { + width: '100%', + height: '64px', + border: '2px dashed rgb(102, 102, 102)', + borderStyle: 'dashed', + borderRadius: '5px', + textAlign: 'center', + paddingTop: '20px' + }, + activeStyle: { + borderStyle: 'solid', + backgroundColor: '#eee' + }, + rejectStyle: { + borderStyle: 'solid', + backgroundColor: '#ffdddd' + } +}; + + +/** + * Helper function to manually fire an event + * + * @param el the element + * @param etype the event type + */ +function eventFire(el, etype) { + if (el.fireEvent) { + el.fireEvent('on' + etype); + } else { + var evObj = document.createEvent('Events'); + evObj.initEvent(etype, true, false); + el.dispatchEvent(evObj); + } +} + +class SketchFieldDemo extends React.Component { + state = { + lineColor: 'black', + lineWidth: 1, + fillColor: '#68CCCA', + backgroundColor: 'transparent', + shadowWidth: 0, + shadowOffset: 0, + tool: Tools.Pencil, + fillWithColor: false, + fillWithBackgroundColor: false, + drawings: [], + canUndo: false, + canRedo: false, + controlledSize: false, + sketchWidth: 600, + sketchHeight: 600, + stretched: true, + stretchedX: false, + stretchedY: false, + originX: 'left', + originY: 'top' + }; + _selectTool = (event, index, value) => { + this.setState({ + tool: value + }); + }; + _save = () => { + let drawings = this.state.drawings; + drawings.push(this._sketch.toDataURL()); + this.setState({drawings: drawings}); + }; + _download = () => { + /*eslint-disable no-console*/ + + console.save(this._sketch.toDataURL(), 'toDataURL.txt'); + console.save(JSON.stringify(this._sketch.toJSON()), 'toDataJSON.txt'); + + /*eslint-enable no-console*/ + + let {imgDown} = this.refs; + let event = new Event('click', {}); + + imgDown.href = this._sketch.toDataURL(); + imgDown.download = 'toPNG.png'; + imgDown.dispatchEvent(event); + }; + _renderTile = (drawing, index) => { + return ( + this._removeMe(index)}>}> + + + ); + }; + _removeMe = (index) => { + let drawings = this.state.drawings; + drawings.splice(index, 1); + this.setState({drawings: drawings}); + }; + _undo = () => { + this._sketch.undo(); + this.setState({ + canUndo: this._sketch.canUndo(), + canRedo: this._sketch.canRedo() + }) + }; + _redo = () => { + this._sketch.redo(); + this.setState({ + canUndo: this._sketch.canUndo(), + canRedo: this._sketch.canRedo() + }) + }; + _clear = () => { + this._sketch.clear(); + this._sketch.setBackgroundFromDataUrl(''); + this.setState({ + controlledValue: null, + backgroundColor: 'transparent', + fillWithBackgroundColor: false, + canUndo: this._sketch.canUndo(), + canRedo: this._sketch.canRedo() + }) + }; + _onSketchChange = () => { + let prev = this.state.canUndo; + let now = this._sketch.canUndo(); + if (prev !== now) { + this.setState({canUndo: now}); + } + }; + _onBackgroundImageDrop = (accepted/*, rejected*/) => { + if (accepted && accepted.length > 0) { + let sketch = this._sketch; + let reader = new FileReader(); + let {stretched, stretchedX, stretchedY, originX, originY} = this.state; + reader.addEventListener('load', () => sketch.setBackgroundFromDataUrl(reader.result, { + stretched: stretched, + stretchedX: stretchedX, + stretchedY: stretchedY, + originX: originX, + originY: originY + }), false); + reader.readAsDataURL(accepted[0]); + } + }; + componentDidMount = () => { + + /*eslint-disable no-console*/ + + (function (console) { + console.save = function (data, filename) { + if (!data) { + console.error('Console.save: No data'); + return; + } + if (!filename) filename = 'console.json'; + if (typeof data === 'object') { + data = JSON.stringify(data, undefined, 4) + } + var blob = new Blob([data], {type: 'text/json'}), + e = document.createEvent('MouseEvents'), + a = document.createElement('a'); + a.download = filename; + a.href = window.URL.createObjectURL(blob); + a.dataset.downloadurl = ['text/json', a.download, a.href].join(':'); + e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); + a.dispatchEvent(e) + } + })(console); + + /*eslint-enable no-console*/ + + }; + render = () => { + const { controlledValue } = this.state; + return ( +
+ {/*Sketch Area with tools*/} + +
+
+ + {/* Sketch area */} + + this._sketch = c} + lineColor={this.state.lineColor} + lineWidth={this.state.lineWidth} + fillColor={this.state.fillWithColor ? this.state.fillColor : 'transparent'} + backgroundColor={this.state.fillWithBackgroundColor ? this.state.backgroundColor : 'transparent'} + width={this.state.controlledSize ? this.state.sketchWidth : null} + height={this.state.controlledSize ? this.state.sketchHeight : null} + defaultValue={dataJson} + value={controlledValue} + forceValue={true} + onChange={this._onSketchChange} + tool={this.state.tool} + /> + +
+
+ + + +
+ +
+
+
+ + this.setState({lineWidth: v * 100})}/> +
+ +
+ this._sketch.zoom(1.25)}> + + + this._sketch.zoom(0.8)}> + + +
+
+
+ + this.setState({sketchWidth: v})}/> +
+ + this.setState({sketchHeight: v})}/> +
+
+
+
+ + + + + this.setState({lineColor: color.hex})}/> +
+
+ this.setState({fillColor: color.hex})}/> +
+
+ + + + this.setState({backgroundColor: color.hex})}/> + +
+
+ +
+ +
+ + Try dropping an image here,
+ or click
+ to select image as background. +
+
+
+
+ + + + + +
+ this._imageUrlTxt = c} + defaultValue='https://files.gamebanana.com/img/ico/sprays/4ea2f4dad8d6f.png'/> + +
+ +
+ +
+ +
+ +
+
+ +
+
+ + + + + +
+ +
+ +
+
+
+
+ + {/*Saved Paintings*/} + +
+
+
+ + {this.state.drawings.map(this._renderTile)} + +
+
+
+
+ ) + }; +} + +export default SketchFieldDemo; diff --git a/app/components/draw/data.json.controlled.js b/app/components/draw/data.json.controlled.js new file mode 100644 index 0000000..18f5ce4 --- /dev/null +++ b/app/components/draw/data.json.controlled.js @@ -0,0 +1,474 @@ +export default { + "objects": + [{ + "type": "line", + "originX": "center", + "originY": "center", + "left": 98.41, + "top": 133.92, + "width": 5, + "height": 162, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": -2.5000111045611817, + "x2": 2.5000111045611817, + "y1": -81.00166757284126, + "y2": 81.00166757284126 + }, { + "type": "line", + "originX": "center", + "originY": "center", + "left": 121.41, + "top": 130.42, + "width": 41, + "height": 1, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": -20.500091057401697, + "x2": 20.500091057401697, + "y1": 0.5000102936595141, + "y2": -0.5000102936595141 + }, { + "type": "line", + "originX": "center", + "originY": "center", + "left": 144.41, + "top": 121.42, + "width": 1, + "height": 187, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": -0.5000022209122363, + "x2": 0.5000022209122363, + "y1": -93.5019249143291, + "y2": 93.5019249143291 + }, { + "type": "line", + "originX": "center", + "originY": "center", + "left": 187.41, + "top": 182.92, + "width": 33, + "height": 0, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": -16.5000732901038, + "x2": 16.5000732901038, + "y1": 0, + "y2": 0 + }, { + "type": "line", + "originX": "center", + "originY": "center", + "left": 202.41, + "top": 166.42, + "width": 3, + "height": 33, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": 1.500006662736709, + "x2": -1.500006662736709, + "y1": 16.500339690763965, + "y2": -16.500339690763965 + }, { + "type": "line", + "originX": "center", + "originY": "center", + "left": 184.41, + "top": 149.92, + "width": 35, + "height": 0, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": 17.500077731928272, + "x2": -17.500077731928272, + "y1": 0, + "y2": 0 + }, { + "type": "line", + "originX": "center", + "originY": "center", + "left": 169.91, + "top": 182.42, + "width": 6, + "height": 65, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": -3.000013325473418, + "x2": 3.000013325473418, + "y1": -32.5006690878684, + "y2": 32.5006690878684 + }, { + "type": "line", + "originX": "center", + "originY": "center", + "left": 189.91, + "top": 215.42, + "width": 34, + "height": 1, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": -17.000075511016036, + "x2": 17.000075511016036, + "y1": -0.5000102936595141, + "y2": 0.5000102936595141 + }, { + "type": "line", + "originX": "center", + "originY": "center", + "left": 235.91, + "top": 134.92, + "width": 10, + "height": 156, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": 5.000022209122363, + "x2": -5.000022209122363, + "y1": 78.00160581088417, + "y2": -78.00160581088417 + }, { + "type": "line", + "originX": "center", + "originY": "center", + "left": 260.91, + "top": 135.92, + "width": 12, + "height": 148, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "x1": 6.00002665094685, + "x2": -6.00002665094685, + "y1": 74.00152346160806, + "y2": -74.00152346160806 + }, { + "type": "circle", + "originX": "left", + "originY": "center", + "left": 284.91, + "top": 154.92, + "width": 57.32, + "height": 57.32, + "fill": "transparent", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 47.12, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "radius": 28.65783551172888, + "startAngle": 0, + "endAngle": 6.283185307179586 + }, { + "type": "rect", + "originX": "left", + "originY": "top", + "left": 374.91, + "top": 46.91, + "width": 14, + "height": 123, + "fill": "#b0bc00", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "rx": 0, + "ry": 0 + }, { + "type": "circle", + "originX": "left", + "originY": "center", + "left": 373.91, + "top": 182.92, + "width": 21.93, + "height": 21.93, + "fill": "#b0bc00", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 46.85, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "radius": 10.96599903840613, + "startAngle": 0, + "endAngle": 6.283185307179586 + }, { + "type": "path", + "originX": "left", + "originY": "top", + "left": 121.99000000000001, + "top": 234.25212246173203, + "width": 651.02, + "height": 174.76, + "fill": null, + "stroke": "black", + "strokeWidth": 10, + "strokeDashArray": null, + "strokeLineCap": "round", + "strokeLineJoin": "round", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "transformMatrix": null, + "skewX": 0, + "skewY": 0, + "pathOffset": {"x": 452.5, "y": 326.631061230866}, + "path": [["M", 126.99, 270], ["Q", 127, 270, 131, 270], ["Q", 135, 270, 185.5, 270], ["Q", 236, 270, 281.5, 270], ["Q", 327, 270, 351.5, 268.5], ["Q", 376, 267, 445.5, 261], ["Q", 515, 255, 555, 250], ["Q", 595, 245, 609, 242], ["Q", 623, 239, 623, 239.5], ["Q", 623, 240, 618.5, 245], ["Q", 614, 250, 608, 254.5], ["Q", 602, 259, 592.5, 264], ["Q", 583, 269, 575, 273.5], ["Q", 567, 278, 564.5, 279], ["Q", 562, 280, 562, 280.5], ["Q", 562, 281, 570.5, 281], ["Q", 579, 281, 588.5, 282], ["Q", 598, 283, 601, 283.5], ["Q", 604, 284, 604, 286.5], ["Q", 604, 289, 601.5, 293], ["Q", 599, 297, 594, 301], ["Q", 589, 305, 588, 306.5], ["Q", 587, 308, 590.5, 308], ["Q", 594, 308, 600.5, 310], ["Q", 607, 312, 607.5, 313], ["Q", 608, 314, 608, 317.5], ["Q", 608, 321, 608, 321.5], ["Q", 608, 322, 608, 322.5], ["Q", 608, 323, 608, 323.5], ["Q", 608, 324, 609.5, 324.5], ["Q", 611, 325, 616, 327.5], ["Q", 621, 330, 622.5, 331], ["Q", 624, 332, 624, 332.5], ["Q", 624, 333, 624.5, 334], ["Q", 625, 335, 628.5, 337.5], ["Q", 632, 340, 643, 345.5], ["Q", 654, 351, 665.5, 355.5], ["Q", 677, 360, 679, 364], ["Q", 681, 368, 681.5, 370], ["Q", 682, 372, 682.5, 373.5], ["Q", 683, 375, 691.5, 376], ["Q", 700, 377, 715.5, 381], ["Q", 731, 385, 736, 389.5], ["Q", 741, 394, 741.5, 395], ["Q", 742, 396, 742, 396.5], ["Q", 742, 397, 742.5, 398], ["Q", 743, 399, 745, 399], ["Q", 747, 399, 750.5, 402], ["Q", 754, 405, 764, 408.5], ["Q", 774, 412, 776, 413], ["L", 778.01, 414.01]] + }] +} diff --git a/app/components/draw/data.json.js b/app/components/draw/data.json.js new file mode 100644 index 0000000..1d9ae04 --- /dev/null +++ b/app/components/draw/data.json.js @@ -0,0 +1,417 @@ +export default { + "objects": [ + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 98.41, + "top": 133.92, + "width": 5, + "height": 162, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": -2.5000111045611817, + "x2": 2.5000111045611817, + "y1": -81.00166757284126, + "y2": 81.00166757284126 + }, + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 121.41, + "top": 130.42, + "width": 41, + "height": 1, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": -20.500091057401697, + "x2": 20.500091057401697, + "y1": 0.5000102936595141, + "y2": -0.5000102936595141 + }, + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 144.41, + "top": 121.42, + "width": 1, + "height": 187, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": -0.5000022209122363, + "x2": 0.5000022209122363, + "y1": -93.5019249143291, + "y2": 93.5019249143291 + }, + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 187.41, + "top": 182.92, + "width": 33, + "height": 0, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": -16.5000732901038, + "x2": 16.5000732901038, + "y1": 0, + "y2": 0 + }, + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 202.41, + "top": 166.42, + "width": 3, + "height": 33, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": 1.500006662736709, + "x2": -1.500006662736709, + "y1": 16.500339690763965, + "y2": -16.500339690763965 + }, + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 184.41, + "top": 149.92, + "width": 35, + "height": 0, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": 17.500077731928272, + "x2": -17.500077731928272, + "y1": 0, + "y2": 0 + }, + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 169.91, + "top": 182.42, + "width": 6, + "height": 65, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": -3.000013325473418, + "x2": 3.000013325473418, + "y1": -32.5006690878684, + "y2": 32.5006690878684 + }, + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 189.91, + "top": 215.42, + "width": 34, + "height": 1, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": -17.000075511016036, + "x2": 17.000075511016036, + "y1": -0.5000102936595141, + "y2": 0.5000102936595141 + }, + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 235.91, + "top": 134.92, + "width": 10, + "height": 156, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": 5.000022209122363, + "x2": -5.000022209122363, + "y1": 78.00160581088417, + "y2": -78.00160581088417 + }, + { + "type": "line", + "originX": "center", + "originY": "center", + "left": 260.91, + "top": 135.92, + "width": 12, + "height": 148, + "fill": "black", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "x1": 6.00002665094685, + "x2": -6.00002665094685, + "y1": 74.00152346160806, + "y2": -74.00152346160806 + }, + { + "type": "circle", + "originX": "left", + "originY": "center", + "left": 284.91, + "top": 154.92, + "width": 57.32, + "height": 57.32, + "fill": "transparent", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 47.12, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "radius": 28.65783551172888, + "startAngle": 0, + "endAngle": 6.283185307179586 + }, + { + "type": "rect", + "originX": "left", + "originY": "top", + "left": 374.91, + "top": 46.91, + "width": 14, + "height": 123, + "fill": "#b0bc00", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 0, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "rx": 0, + "ry": 0 + }, + { + "type": "circle", + "originX": "left", + "originY": "center", + "left": 373.91, + "top": 182.92, + "width": 21.93, + "height": 21.93, + "fill": "#b0bc00", + "stroke": "black", + "strokeWidth": 2, + "strokeDashArray": null, + "strokeLineCap": "butt", + "strokeLineJoin": "miter", + "strokeMiterLimit": 10, + "scaleX": 1, + "scaleY": 1, + "angle": 46.85, + "flipX": false, + "flipY": false, + "opacity": 1, + "shadow": null, + "visible": true, + "clipTo": null, + "backgroundColor": "", + "fillRule": "nonzero", + "globalCompositeOperation": "source-over", + "radius": 10.96599903840613, + "startAngle": 0, + "endAngle": 6.283185307179586 + } + ], + "background": "" +} diff --git a/app/components/draw/data.url.js b/app/components/draw/data.url.js new file mode 100644 index 0000000..470949c --- /dev/null +++ b/app/components/draw/data.url.js @@ -0,0 +1 @@ +export default 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABgMAAAKhCAYAAAB91t4wAAAgAElEQVR4XuzdP+htV3Yf8OXaBkmNk04SSWkYvcqFixkFk85IchpDwDNiCjsuLImQgCEwFhhcBCPJRUgTZmQIuLIk3IUQjQoXrqSBlGOk6exppAlx7bCefufl9/T+/O696+xz1j73c+Dxrnh377POZ+3fT7C/957zS+EgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDi3wS4e+OhdHgAABAgQIECBAgAABAgQIECBAgAABAgQIhDDAIiBAgAABAgQIECBAgAABAgQIECBAgAABAgcXEAYcvMEujwABAgQIECBAgAABAgQIECBAgAABAgQICAOsAQIECBAgQIAAAQIECBAgQIAAAQIECBAgcHABYcDBG+zyCBAgQIAAAQIECBAgQIAAAQIECBAgQICAMMAaIECAAAECBAgQIECAAAECBAgQIECAAAECBxcQBhy8wS6PAAECBAgQIECAAAECBAgQIECAAAECBAgIA6wBAgQIECBAgAABAgQIECBAgAABAgQIECBwcAFhwMEb7PIIECBAgAABAgQIECBAgAABAgQIECBAgIAwwBogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIHFxAGHLzBLo8AAQIECBAgQIAAAQIECBAgQIAAAQIECAgDrAECBAgQIECAAAECBAgQIECAAAECBAgQIHBwAWHAwRvs8ggQIECAAAECBAgQIECAAAECBAgQIECAgDDAGiBAgAABAgQIECBAgAABAgQIECBAgAABAgcXEAYcvMEujwABAgQIECBAgAABAgQIECBAgAABAgQICAOsAQIECBAgQIAAAQIECBAgQIAAAQIECBAgcHABYcDBG+zyCBAgQIAAAQIECBAgQIAAAQIECBAgQICAMMAaIECAAAECBAgQIECAAAECBAgQIECAAAECBxcQBhy8wS6PAAECBAgQIECAAAECBAgQIECAAAECBAgIA6wBAgQIECBAgAABAgQIECBAgAABAgQIECBwcAFhwMEb7PIIECBAgAABAgQIECBAgAABAgQIECBAgIAwwBogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIHFxAGHLzBLo8AAQIECBAgQIAAAQIECBAgQIAAAQIECAgDrAECBAgQIECAAAECBAgQIECAAAECBAgQIHBwAWHAwRvs8ggQIECAAAECBAgQIECAAAECBAgQIECAgDDAGiBAgAABAgQIECBAgAABAgQIECBAgAABAgcXEAYcvMEujwABAgQIECBAgAABAgQIECBAgAABAgQICAOsgYrAP90Mto4qisYSIECAAAECBAgQIECAAAECBAgQIEBgsIBN3MHAB59eGHDwBrs8AgQIECBAgAABAgQIECBAgAABAgSOISAMOEYf97oKYcBe8s5LgAABAgQIECBAgAABAgQIECBAgACBMwSEAWdgeesjAsIAi4IAAQIECBAgQIAAAQIECBAgQIAAAQITCAgDJmhS4xKFAY2bozQCBAgQIECAAAECBAgQIECAAAECBAgsAsIAa6EiIAyo6BlLgAABAgQIECBAgAABAgQIECBAgACBjQSEARtBH/Q0woCDNtZlESBAgAABAgQIECBAgAABAgQIECBwLAFhwLH6ufXVCAO2Fnc+AgQIECBAgAABAgQIECBAgAABAgQIXCAgDLgAzZAHAsIAi4EAAQIECBAgQIAAAQIECBAgQIAAAQITCAgDJmhS4xKFAY2bozQCBAgQIECAAAECBAgQIECAAAECBAgsAsIAa6EiIAyo6BlLgAABAgQIECBAgAABAgQIECBAgACBjQSEARtBH/Q0woCDNtZlESBAgAABAgQIECBAgAABAgQIECBwLAFhwLH6ufXVCAO2Fnc+AgQIECBAgAABAgQIECBAgAABAgQIXCAgDLgAzZAHAsIAi4EAAQIECBAgQIAAAQIECBAgQIAAAQITCAgDJmhS4xKFAY2bozQCBAgQIECAAAECBAgQIECAAAECBAgsAsIAa6EiIAyo6BlLgAABAgQIECBAgAABAgQIECBAgACBjQSEARtBH/Q0woCDNtZlESBAgAABAgQIECBAgAABAgQIECBwLAFhwLH6ufXVCAO2Fnc+AgQIECBAgAABAgQIECBAgAABAgQIXCAgDLgAzZAHAsIAi4EAAQIECBAgQIAAAQIECBAgQIAAAQITCAgDJmhS4xKFAY2bo7SrF1h+Pi+F8P+HS+WMI0CAAAECBAgQIECAAAECBAg0FLDZ07ApE5UkDJioWUq9OgFhwNW13AUTIECAAAECBAgQIECAAAECBJ4sIAywOioCwoCKnrEExgrc//n88H+ed5JXf/PB+/3/4Tw67yZAgAABAgQIECBAgAAB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ECDwQEAY0GMxLJvqb0XEuz1KOqkKYcBJTKu8aYswYItzrIJhkpMEhAEnMXkTAQIECBAgQIAAAQIECBAgQOA6BIQBPfo866b6rHX36Pp5VeQDpT+/uXXUi+cNPfndwoCTqaZ4ozBgijYpkgABAgQIECBAgAABAgQIECCwjYAwYBvnu84y66b6rHXf1Y+u/748WHrUz+0WgUNX2yPWJQw4YlddEwECBAgQIECAAAECBAgQIEDgQoFRm4oXlnO1w2bdVJ+17lkX2ugwIF22OMes/rPVLQyYrWPqJUCAAAECBAgQIECAAAECBAgMFBAGDMQ9Y+pZN9VnrfuM1rR66xYb9VucoxXqgYsRBhy4uS6NAAECBAgQIECAAAECBAgQIHCugDDgXLEx7591U33Wusd0cfysX0TE8xFxLyI+G3S6ryLimYh4LiLytWNeAWHAvL1TOQECBAgQIECAAAECBAgQIEBgdQFhwOqkF00466b6rHVf1KQGg34cEd+OiJcjIl+POLY4x4i6zfmogDDAqiBAgAABAgQIECBAgAABAgQIEHggIAzosRhm3VSfte4eXT+/ii026rc4x/lXbsQlAsKAS9SMIUCAAAECBAgQIECAAAECBAgcVEAY0KOx34mIjyPio4h4tUdJJ1UhDDiJabU3bbFR/2FEvBIRr0VEvnbMKyAMmLd3KidAgAABAgQIECBAgAABAgQIrC4gDFid9KIJlzDgk4jI17McwoBtO/VuRLwREW9FRL4ecejpCNV95hQG7OPurAQIECBAgAABAgQIECBAgACBlgLCgB5tEQb06EP3KrbYqN/iHN2dj1KfMOAonXQdBAgQIECAAAECBAgQIECAAIEVBIQBKyCuMIUwYAXEK5hii436NyPinYh4LyLytWNeAWHAvL1TOQECBAgQIECAAAECBAgQIEBgdQFhwOqkF00oDLiI7eoGbREGzLoWr24xnHDBwoATkLyFAAECBAgQIECAAAECBAgQIHAtAsKAHp2edQN2i83pHh3qUUU+XPqDwQ+annUt9uhQryqEAb36oRoCBAgQIECAAAECBAgQIECAwK4CwoBd+R+cfNYNWGHAtutni3WyxTkuUXslIl6KiBdu/uQct1/nf//4ZuLbf/8sIr645IQHGCMMOEATXQIBAgQIECBAgAABAgQIECBAYC0BYcBakrV5um7A3nVVwoC7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vYgz33dpEHPEWwQtdMs6GP28hjNb9cS3CwPWkjQPAQIECBAgQIAAAQIECBAgQOAAAsKAPk0UBggDTl2NlYf7nnqOSwOQLyMibxV0tFsELW7LtzJmuL6l1lN7/s33+f/DpXLGESBAgAABAgQIECBAgAABAgQaCtjs6dMUYcCjvVjuP5+fhM/N172OlyLi05tP4een8fc+OocBW9zCaE//mZ4bIAzYc6U4NwECBAgQIECAAAECBAgQIECgmYAwoE9DhAGP70WXzeUudaTSFmHACxHx+ZkByBKa/CQi8vURjxl/To/YB9dEgAABAgQIECBAgAABAgQIECBwpoAw4EywgW9f7tHe5SG1p1zqpbeSOWXu5T1dNuG71JEuP4qI70bE6zevz/E8573nXvMW6+Gc+ke8VxgwQtWcBAgQIECAAAECBAgQIECAAAECwwWEAcOJTz7BjBupW9S8xafgT2lSPqj3+Yi4FxH5ANk9j602pM8NA96MiHciYqZA69w+bmV/bl3eT4AAAQIECBAgQIAAAQIECBAgQOCpAsKAPgtki431ta92i5q7hAFd6sgebrUhnc9qeOaMhwFvVdfa6/ic+ZbA4+2bPpwz1nsJECBAgAABAgQIECBAgAABAgQI7CYgDNiN/pETb7GxvvbVblHzhxHxyga3xLnL5hrDgHOv+RrCgC3W/F1r0b8TIECAAAECBAgQIECAAAECBAgQOFtAGHA22bABM24yblFzlw3mdyPijYjo8Inw5fkS70dEvh51CAMeld1izY/qp3kJECBAgAABAgQIECBAgAABAgSuWEAY0Kf5M24yblFzlzCgSx25Yrdwz/Ms38p47eb1XT8t13ALna2CmLus/TsBAgQIECBAgAABAgQIECBAgACBswSEAWdxDX3zVhu8a17EFjUvm68fRcSraxZ/5lxLGNDh4bhbuCfPuQHIVnWd2bpV336uyaonL072bER86xtzfFKc03ACBAgQIECAAAECBAgQIECAAIFJBIQBfRo140bqFjVvcY5TVkGXOrLWrWo5d+N7q7pO6deo9/woIr7b4BkW51xfBmpZc/bnccdnEZHXlbedyodGOwgQIECAAAECBAgQIECAAAECBA4oIAzo09SXIuLTiMiNuXt9ynpqJVts/m5xjlO4u9SRteYnvL+82bh97pTiL3zPctufU78NsRjNtIbPpTn3OQrnzr/m+/ObNO9ExAu3J/21m+8GfP7TiH/8x4dOl0FABkDZbwcBAgQIECBAgAABAgQIECBAgMDBBIQBvRr6TzflzNKXLTbIl43vLp3a+3ZFi8MWa+WS/uaG8jMRkSHFET9lniFMrsnu17c88Dp+9Z9FfP8P4v7fL/7Lh3+Mfv73Ef/7JxH/6398/ffNkc+KeP2g/evye0QdBAgQIECAAAECBAgQIECAAIHNBWbZdN4cZqcTbrHBu+alXbJZfMn5F5dLxq49psvPzBZr5ZL+Lg8dzs3kvPXMkY78hP3nNxfUZR08zne5lVH81m9H/M7vRvzyr9zdhr/8i4j8c3PktzteFgjc7eYdBAgQIECAAAECBAgQIECAAIFZBDpvaM1iuGadW2zwrlnvJZvFl5z/6J82v8Rki7VySX+XWwvl/efzXvVHOma4tuU5D/Enfxax3BLo1CbkrYP+9AcRP/+H+yMyVMhQx0GAAAECBAgQIECAAAECBAgQIHAAAWFAryZuscG75hVfsll8yflnuk/7Jdd3yZj85Hbe/T2fL5GvRx3nrsnl2RdfRMSLo4raad58pkde32sRkd+A6HY8+ObC9/9dxG/9m8vKy9sF/ad//2Bs12u97OKMIkCAAAECBAgQIECAAAECBAhcsYAwoFfzz9143bt6YcB+HdgqILlkTS7f5MgwIEOBIxzLRvsvbp4Z0PGa7q+J/DZAfiugcvy3/xLx1391f4YjhjoVGmMJECBAgAABAgQIECBAgAABAtMKCAN6te6Sjdc9r2CrMGC5B/oR70N/af86hwHLw2uPdKug7rcIevCtgP/+4WnPCHjawvvH/xvx1u89uF2Qn7tLf0qNI0CAAAECBAgQIECAAAECBAg0EhAGNGpGRAgDHt+P5T7ob0dEvnZEbBUGXHKe2w/aPcq3A/LBwXldXW+bcz+sWONbAcsP160HCh8p1PG7gwABAgQIECBAgAABAgQIECBwtQLCgF6tn+1BuVt9M0AY8Og6XT59PzoguSQMyGqXb3McYSN5WX8/uwkEev3W+LqafIbBK7/zuxH5Z43jb//m64cJu1XQGprmIECAAAECBAgQIECAAAECBAjsLyAM2L8Htyu4dON1r6vYKgx4NSI+iIiPIiJfO77+hkRu1XYNA47y7YBnIyK/FZB/vxxffyOj43H/d8cfvR3x67+xTnmf/zTird9/MJf/V6zDahYCBAgQIECAAAECBAgQIECAwG4CNnh2o3/siYUBj+/HVqFDr9Xw9Gq2CgMq51m+HZDrOjfSZzyWa+geRN3/3ZEPDs5bBa11vPqbwoC1LM1DgAABAgQIECBAgAABAgQIENhbQBiwdwcePr8w4OlhwGcRca9Xy3arprJJf07RlfPkp+m/iIhnIuK9iMj72s90LCHULyLipZtr6Vr/6mFAPkT43/7/7+H4f0XXzquLAAECBAgQIECAAAECBAgQIHCigA2eE6E2epsw4MnQsz1cefSS2erbEpUwIA1yE/3TG4yuD999XK/yNkdZdwYao2/FtMZauf+7Y9AzAzo/K2ENO3MQIECAAAECBAgQIECAAAECBK5CQBjQq83CAGHAqStyqzBgjec15DcC3omIfEB2frMjvy3Q+cgA4OObIOOTiEjr7sf90OZf/euIP/yP65T6l38RkX88q2MdT7MQIECAAAECBAgQIECAAAECBPYWEAbs3YGHzy8MeHI/ciM5bzfz4gSbyVusqq3CgLXO82FEvBIReaunfH5A9rPjcTsI+MlNENC11tt+9/v0q/884p3/GvHLv1Knfev3Ij7/u/vzvB4R+ewEBwECBAgQIECAAAECBAgQIECAwMQCwoBezRMGPLkfs9mMXllrbdLfVeda58lN9uxhPt42A4G8ZVDHbwh8EBH5bYiZgoClh+n5/G/9dsT3/+Cutj793//2byL+9Af33/N/cs7G4U3tQo0mQIAAAQIECBAgQIAAAQIECFyRgDCgV7OXT0/nJ6dz47T7sdZG8SnXKQx4VGmL5yjkJv6XN5vBz53SqKe853YgkJ+2z3WewUCHI2vLICDXdD4wOP/uUtupPt+LiB/mm//kzyJ+LWOXC46f/33EW78fkQ8QnuR5CRdcpSEECBAgQIAAAQIECBAgQIAAgesTEAb06nn1Ya1bX82WYUDepuS7EfFWRLy79YU2Pd8WYUBe+prnyU33DL2+fRMwdAgE8iHH+YyArG3WIGBZovcDxRf/RcQfvR2Rtw0697h1e6AZvx1x7uV6PwECBAgQIECAAAECBAgQIEDgagSEAb1aLQx4cj9ms9liZa25Sf+0ekecZwl38rzZ2/d2uhXNG7fCpXxYcN4iaIZnBDypXw++fZHPDfjD/xDx679x2lL8/KcRf/6fHzwnYPZQ5LSL9i4CBAgQIECAAAECBAgQIECAwBUJCAN6NXu2De8tvxkwm80WK2t5qHLevmfkBnbeLidvOnNv5Vvn5Dc8cjM+j7zffX7rIz/ZvsWRazfvip9/55FhxJtbnHiDc9y+HVPkMwTyz5O+JZC3A/rrv4r4y794UJkgYIMmOQUBAgQIECBAgAABAgQIECBAYGsBYcDW4k8/32wb3luGAVueq9eqeHI1Wz1HYeR5sq8ZCix3uM9zvT7w4cIv3NxXfwkBcuM777W/VQix1drKQCBd89Za94/8pkA+RyBvIZTHz/8hIr8N8PnfPVTSEb4dsZWx8xAgQIAAAQIECBAgQIAAAQIEphIQBvRqlzDgyf0QBjxqM3KT/vbZtjhPbsjn5vUzNyfObyPkrYQ+WiEYyI3xfEZB3gIoz5NHhgB5vvwz8lsVe/+GyZ+b/MbDK3cUkiFA/v6Z4cHle5s6PwECBAgQIECAAAECBAgQIEBgSgFhQK+2CQOe3I98yOunN7epydvVOL7euM1N7nwI78hN3OX+/vmJ/Xw96shN+/wZyA37JRTIc2UwkJ/cX64xN67vOtIl10wGAMu3AHLMtYQA3/RJ23RIk9tH3p4pXfNvBwECBAgQIECAAAECBAgQIECAwIEFhAG9misMeHo/RjzIttcKOK+a3CDPT3y/Nvg2N3usy9zEX/7cDgYWofw0f4YEt4/c6M5N78cdGSCkV/6x8X3eOvNuAgQIECBAgAABAgQIECBAgACBAwgIA3o1cY9N14rA1rfuEQY83K2t1stW53nSWsxQIDf6c73lZv/yfIGnrd3c/M9N/+UbBUe+FVDlZ9hYAgQIECBAgAABAgQIECBAgACBKxEQBvRq9Nab69Wr37re3Nx9PiJe9Onu+63bapM+b9vzw4h4/9Y996trpzo+Q4Fv3vImvylg078qazwBAgQIECBAgAABAgQIECBAgMAhBYQBvdq69eZ69eq3rnere+RXXbYav1UYsHWft/JzHgIECBAgQIAAAQIECBAgQIAAAQJXIyAM6NXq2TZdt65XGPDwen0zIt7Z4BP7W/e510+laggQIECAAAECBAgQIECAAAECBAgcQEAY0KuJs226vhARn9/csidv3TP6eDci3oiIt29ukTP6fN3n32q9LH3O+/DnOR0ECBAgQIAAAQIECBAgQIAAAQIECEwmIAzo1bCtNnfXvOotH+q71W1x1vQZOdeM62Wkh7kJECBAgAABAgQIECBAgAABAgQIEHiCgDCg19KYcXN3jzDgvYjIW+Rc+zHjern2nrl+AgQIECBAgAABAgQIECBAgAABArsICAN2YX/iSWfc3N0yDJjRZ+QKc/uekbrmJkCAAAECBAgQIECAAAECBAgQIHAgAWFAr2bOuNktDOi1hlRDgAABAgQIECBAgAABAgQIECBAgACBRwSEAf0WRW6ufxURz/Ur7bEVbRkGvBQRn97h8uM7/v2LmwceP+1td83xsxPmmKR9yiRAgAABAgQIECBAgAABAgQIECBA4BoEhAHX0OVjXeOzEfFlk0vy89OkEcogQIAAAQIECBAgQIAAAQIECBAgQODpAjYzrZCjCeStlp525H3288/TjlPmyFAi/zgIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oTQPl/gAAIABJREFUAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAgQIECAAAECNQFhQM3PaAIECBAgQIAAAQIECBAgQIAAAQIECBAg0F5AGNC+RQokQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AWFAzc9oAgQIECBAgAABAgQIECBAgAABAgQIECDQXkAY0L5FCiRAgAABAgQIECBAgAABAgQIECBAgAABAjUBYUDNz2gCBAgQIECAAAECBAgQIECAAAECBAgQINBeQBjQvkUKJECAAAECBAgQIECAAAECBAj8v/bsmAYAAIZhGH/WBZGnhwFUmrwzBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAF8ZnUEAAAJUUlEQVQCBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FxID7FzmQAAECBAgQIECAAAECBAgQIECAAAECBAg0ATGg+VkTIECAAAECBAgQIECAAAECBAgQIECAAIF7ATHg/kUOJECAAAECBAgQIECAAAECBAgQIECAAAECTUAMaH7WBAgQIECAAAECBAgQIECAAAECBAgQIEDgXkAMuH+RAwkQIECAAAECBAgQIECAAAECBAgQIECAQBMQA5qfNQECBAgQIECAAAECBAgQIECAAAECBAgQuBcQA+5f5EACBAgQIECAAAECBAgQIECAAAECBAgQINAExIDmZ02AAAECBAgQIECAAAECBAgQIECAAAECBO4FBiixdxoC93XVAAAAAElFTkSuQmCC' diff --git a/app/components/draw/draw.css b/app/components/draw/draw.css new file mode 100644 index 0000000..402f4ea --- /dev/null +++ b/app/components/draw/draw.css @@ -0,0 +1,26 @@ +body, html { + margin: 0; + padding: 0; + min-height: 100%; + height: 100%; + background-color: beige; + font-weight: 300; + font-family: "Roboto", sans-serif; +} + +#container { + display: flex; + flex-direction: column; + overflow-x: hidden; + min-height: 100%; + width: 100%; + height: 100%; + background-color: #eeffd3; + color: #000000; +} + +.canvas-area { + margin: 7px 0 0 7px; + border: 1px solid #0d3349; + background-color: #ffffff; +} diff --git a/app/dapp.js b/app/dapp.js index 4ef1fc9..0b630d7 100644 --- a/app/dapp.js +++ b/app/dapp.js @@ -10,6 +10,7 @@ import { VotingContext } from './context'; import Web3Render from './components/standard/Web3Render'; import fetchIdeas from './utils/fetchIdeas'; import { getPolls, omitPolls } from './utils/polls'; +import DrawField from './components/draw/DrawField'; window['SNT'] = SNT; import './dapp.css'; @@ -31,7 +32,7 @@ class App extends React.Component { this._setAccounts(); } web3.eth.net.getId((err, netId) => { - if (netId !== MAINNET) this.setState({ web3Provider: false}) + //if (netId !== MAINNET) this.setState({ web3Provider: false}) }) fetchIdeas().then(ideaSites => { this.setState({ ideaSites })}); }) @@ -93,13 +94,14 @@ class App extends React.Component { const votingContext = { getPolls: _getPolls, toggleAdmin, updatePoll, appendToPoll, setPollOrder, ...this.state }; return ( - + + {false && {admin ? : } - + } ); } diff --git a/package.json b/package.json index f9e6329..3fa941b 100644 --- a/package.json +++ b/package.json @@ -25,13 +25,17 @@ "babel-preset-stage-2": "^6.24.1", "bignumber.js": "^5.0.0", "bootstrap": "^3.3.7", + "flexboxgrid": "^6.3.1", "formik": "^0.11.11", "jquery": "^3.3.1", "lodash": "^4.17.10", "react": "^16.3.2", "react-blockies": "^1.3.0", "react-bootstrap": "^0.32.1", + "react-color": "^2.14.1", "react-dom": "^16.3.2", + "react-dropzone": "^4.2.13", + "react-sketch": "^0.4.4", "react-toggle": "^4.0.2", "rlp": "^2.0.0", "typeface-roboto": "0.0.54"