├── README.md ├── .gitignore ├── deploy.js ├── package.json ├── src ├── data.js ├── data.json ├── main.js ├── config.js ├── template.js ├── event.js ├── utils.js └── style.js ├── LICENSE └── yarn.lock /README.md: -------------------------------------------------------------------------------- 1 | # gbf-bookmark -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | node_modules/ 3 | dist/ 4 | yarn-error.log 5 | npm-debug.log 6 | -------------------------------------------------------------------------------- /deploy.js: -------------------------------------------------------------------------------- 1 | const ghpages = require('gh-pages') 2 | 3 | console.log('start publish...') 4 | ghpages.publish('dist', { 5 | add: false 6 | }, function () { 7 | console.log('finished') 8 | }) 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gbf-bookmark", 3 | "version": "0.2.8", 4 | "main": "main.js", 5 | "repository": "git@github.com:biuuu/gbf-bookmark.git", 6 | "author": "umisuna ", 7 | "license": "MIT", 8 | "scripts": { 9 | "build": "rollup --config build.js", 10 | "deploy": "yarn build && node ./deploy.js" 11 | }, 12 | "dependencies": { 13 | "core-js": "3" 14 | }, 15 | "devDependencies": { 16 | "@babel/core": "^7.4.0", 17 | "@babel/preset-env": "^7.4.2", 18 | "gh-pages": "^2.0.1", 19 | "rollup": "^1.7.4", 20 | "rollup-plugin-babel": "^4.3.2", 21 | "rollup-plugin-json": "^4.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/data.js: -------------------------------------------------------------------------------- 1 | import list from './data.json' 2 | 3 | let data = { 4 | list : list 5 | } 6 | 7 | const getLocalData = () => { 8 | try { 9 | let str = localStorage.getItem('gbf-bookmark:data') 10 | if (str) { 11 | let obj = JSON.parse(str) 12 | if (obj && obj.length) { 13 | data.list = obj.sort((prev, next) => { 14 | const prevParent = (prev.parent | 0) * 100 15 | const nextParent = (next.parent | 0) * 100 16 | return (prev.index + prevParent) - (next.index + nextParent) 17 | }) 18 | } 19 | } 20 | } catch (e) { 21 | 22 | } 23 | } 24 | 25 | getLocalData() 26 | 27 | export default data 28 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 biuuu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/data.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "#mypage", 4 | "name": "首页", 5 | "index": 3, 6 | "background": "#297fc8" 7 | }, 8 | { 9 | "name": "共斗", 10 | "url": "#coopraid", 11 | "background": "#ffeb3b", 12 | "index": 4 13 | }, 14 | { 15 | "name": "未确认", 16 | "url": "#quest/assist/unclaimed", 17 | "background": "#8dc3dd", 18 | "index": 5 19 | }, 20 | { 21 | "url": "#quest/assist", 22 | "name": "副本列表", 23 | "index": 7, 24 | "background": "#c96883" 25 | }, 26 | { 27 | "name": "活动副本", 28 | "url": "#quest/assist/event", 29 | "background": "#297fc8", 30 | "index": 8, 31 | "parent": 0 32 | }, 33 | { 34 | "name": "Fate", 35 | "url": "#quest/fate", 36 | "background": "#efb983", 37 | "index": 9 38 | }, 39 | { 40 | "url": "#sidestory", 41 | "name": "SIDE STORY", 42 | "index": 10, 43 | "background": "#eee3c8" 44 | }, 45 | { 46 | "name": "塔罗首页", 47 | "url": "#arcarum2", 48 | "background": "#259a80", 49 | "index": 11, 50 | "parent": 0 51 | }, 52 | { 53 | "name": "收藏的任务", 54 | "url": "none", 55 | "background": "#b51e22", 56 | "index": 12, 57 | "parent": 0 58 | }, 59 | { 60 | "url": "back", 61 | "name": "后退", 62 | "index": 16, 63 | "background": "#FFEB3B" 64 | }, 65 | { 66 | "url": "reload", 67 | "name": "刷新", 68 | "index": 18, 69 | "background": "#de3a7c" 70 | }, 71 | { 72 | "name": "欧罗巴", 73 | "url": "#quest/supporter/303161/1/0/523", 74 | "background": "#efcdce", 75 | "index": 9, 76 | "parent": 12 77 | }, 78 | { 79 | "name": "军神", 80 | "url": "#quest/supporter/303181/1/0/525", 81 | "background": "#20a48f", 82 | "index": 10, 83 | "parent": 12 84 | }, 85 | { 86 | "name": "湿婆", 87 | "url": "#quest/supporter/303151/1/0/522", 88 | "background": "#731dc9", 89 | "index": 11, 90 | "parent": 12 91 | }, 92 | { 93 | "name": "神盾", 94 | "url": "#quest/supporter/303171/1/0/524", 95 | "background": "#d51330", 96 | "index": 12, 97 | "parent": 12 98 | }, 99 | { 100 | "name": "梅塔特隆", 101 | "url": "#quest/supporter/303191/1/0/526", 102 | "background": "#f8fdfe", 103 | "index": 13, 104 | "parent": 12 105 | }, 106 | { 107 | "name": "阿凡达", 108 | "url": "#quest/supporter/303221/1/0/527", 109 | "background": "#400040", 110 | "index": 14, 111 | "parent": 12 112 | } 113 | ] 114 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import data from './data' 2 | import config from './config' 3 | import template from './template' 4 | import event from './event' 5 | import { applyConfig, initIpt } from './config' 6 | 7 | const recordTime = () => { 8 | localStorage.setItem('gbf-bookmark:time', Date.now()) 9 | } 10 | 11 | const getTime = () => { 12 | let time = 0 13 | try { 14 | const _time = parseInt(localStorage.getItem('gbf-bookmark:time'), 10) 15 | if (_time) time = _time 16 | } catch (e) { 17 | 18 | } 19 | return time 20 | } 21 | 22 | const parentElmt = () => { 23 | // let elmt = document.getElementById('mobage-game-container') 24 | // if (!elmt) elmt = document.body 25 | // return elmt 26 | return document.body 27 | } 28 | 29 | const sleep = (time) => { 30 | return new Promise((resolve, reject) => { 31 | setTimeout(resolve, time) 32 | }) 33 | } 34 | 35 | const waitDeviceRatio = async () => { 36 | if (typeof deviceRatio === 'number') { 37 | return deviceRatio 38 | } else { 39 | await sleep(100) 40 | return await waitDeviceRatio() 41 | } 42 | } 43 | 44 | const applyRatio = async () => { 45 | await waitDeviceRatio() 46 | const elemt1 = document.getElementById('show-setting-bookmark') 47 | const elemt2 = document.getElementById('gbf-bookmark-lacia') 48 | const elemt3 = document.getElementById('gbf-bookmark-setting') 49 | elemt1.style.zoom = deviceRatio 50 | elemt2.style.zoom = deviceRatio 51 | elemt3.style.zoom = deviceRatio 52 | } 53 | 54 | const main = () => { 55 | try { 56 | const html = template(data.list) 57 | parentElmt().insertAdjacentHTML('beforeend', html) 58 | const container = document.getElementById('gbf-bookmark-lacia') 59 | const time = getTime() 60 | let hideTimer 61 | const delayHide = () => { 62 | if (config.hideDelay <= 0) return 63 | clearTimeout(hideTimer) 64 | hideTimer = setTimeout(() => { 65 | container.style.opacity = 0 66 | }, config.hideDelay * 1000) 67 | } 68 | 69 | container.addEventListener('mouseenter', function () { 70 | if (config.hideDelay <= 0) return 71 | recordTime() 72 | clearTimeout(hideTimer) 73 | container.style.opacity = 1 74 | }) 75 | container.addEventListener('mouseleave', function () { 76 | if (config.hideDelay <= 0) return 77 | recordTime() 78 | delayHide() 79 | }) 80 | event() 81 | initIpt() 82 | applyConfig() 83 | if (Date.now() - time > config.hideDelay * 1000 && config.hideDelay > 0) { 84 | container.style.opacity = 0 85 | } else { 86 | delayHide() 87 | } 88 | applyRatio() 89 | } catch (e) { 90 | console.error(e) 91 | } 92 | } 93 | 94 | let win = (window.unsafeWindow || window) 95 | if (win.document.readyState != 'loading') { 96 | main() 97 | } else { 98 | win.addEventListener('DOMContentLoaded', main) 99 | } 100 | -------------------------------------------------------------------------------- /src/config.js: -------------------------------------------------------------------------------- 1 | const config = { 2 | position: 'left', 3 | hideDelay: 10, 4 | animation: true, 5 | margin: 4, 6 | size: 2, 7 | align: 'left', 8 | mixed: 'yes' 9 | } 10 | 11 | const getLocalConfig = () => { 12 | try { 13 | let _config = JSON.parse(localStorage.getItem('gbf-bookmark:config')) 14 | if (_config) { 15 | if (_config.hideDelay) { 16 | _config.hideDelay = _config.hideDelay | 0 17 | } 18 | if (_config.margin) { 19 | _config.margin = _config.margin | 0 20 | } 21 | Object.assign(config, _config) 22 | } 23 | } catch (e) { 24 | 25 | } 26 | } 27 | 28 | getLocalConfig() 29 | 30 | const applyConfig = () => { 31 | const cont = document.getElementById('gbf-bookmark-lacia') 32 | if (config.position === 'left') { 33 | cont.classList.remove('bookmark-right') 34 | } else { 35 | cont.classList.add('bookmark-right') 36 | } 37 | if (config.mixed === 'yes') { 38 | cont.classList.remove('not-mixed-bookmark') 39 | } else { 40 | cont.classList.add('not-mixed-bookmark') 41 | } 42 | cont.classList.remove('align-left-bookmark', 'align-center-bookmark', 'align-right-bookmark') 43 | cont.classList.add(`align-${config.align}-bookmark`) 44 | cont.classList.remove('autohide-bookmark', 'keep-bookmark', 'full-bookmark') 45 | cont.classList.remove('keep-bookmark') 46 | if (config.hideDelay === 0) { 47 | cont.classList.add('autohide-bookmark') 48 | } else if (config.hideDelay === -1) { 49 | cont.classList.add('keep-bookmark') 50 | } else if (config.hideDelay === -2) { 51 | cont.classList.add('full-bookmark') 52 | } 53 | cont.style.opacity = null 54 | if (!config.animation) { 55 | cont.classList.add('bookmark-remove-anime') 56 | } else { 57 | cont.classList.remove('bookmark-remove-anime') 58 | } 59 | cont.classList.remove('size-1', 'size-2', 'size-3') 60 | cont.classList.add(`size-${config.size}`) 61 | let styleTag = document.getElementById('style-gbf-bookmark') 62 | if (!styleTag) { 63 | styleTag = document.createElement('style') 64 | styleTag.id = 'style-gbf-bookmark' 65 | document.body.appendChild(styleTag) 66 | } 67 | let width = 67 68 | if (config.size === 1) width = 84 69 | if (config.size === 3) width = 59 70 | let left = width - config.margin 71 | if (left > width) left = width 72 | if (left < 0) left = 0 73 | styleTag.innerHTML = ` 74 | body #gbf-bookmark-lacia${config.position === 'right' ? '.bookmark-right' : ''} { 75 | ${config.position}: -${left}px; 76 | } 77 | ` 78 | } 79 | 80 | const initIpt = () => { 81 | const iptPosition = document.getElementById('ipt-position-bookmark') 82 | const iptHidedelay = document.getElementById('ipt-hidedelay-bookmark') 83 | const iptMargin = document.getElementById('ipt-margin-bookmark') 84 | const iptAnimation = document.getElementById('ipt-animation-bookmark') 85 | const iptSize = document.getElementById('ipt-size-bookmark') 86 | const iptAlign = document.getElementById('ipt-align-bookmark') 87 | const iptMixed = document.getElementById('ipt-mixed-bookmark') 88 | iptPosition.value = config.position 89 | iptHidedelay.value = config.hideDelay 90 | iptMargin.value = config.margin 91 | iptAnimation.value = config.animation ? 'open' : 'close' 92 | iptSize.value = config.size 93 | iptAlign.value = config.align 94 | iptMixed.value = config.mixed 95 | } 96 | 97 | const saveConfig = () => { 98 | try { 99 | localStorage.setItem('gbf-bookmark:config', JSON.stringify(config)) 100 | } catch (e) { 101 | 102 | } 103 | } 104 | 105 | export default config 106 | export { applyConfig, initIpt, saveConfig } 107 | -------------------------------------------------------------------------------- /src/template.js: -------------------------------------------------------------------------------- 1 | import { renderTag, renderList } from './utils' 2 | import css from './style' 3 | 4 | export default function tempalte () { 5 | const html = ` 6 | 7 |
8 |
${renderList()}
9 |
10 |
书签
11 |
选项
12 |
13 |
14 |
添加
15 |
16 | 17 | 18 |
导出
19 |
20 |
21 |
${renderTag()}
22 |
23 |
24 |
25 | 位置 26 |
27 | 31 |
32 |
33 |
34 | 边距 35 |
36 | 37 |
38 |
39 |
40 | 文字 41 |
42 | 47 |
48 |
49 |
50 | 动画 51 |
52 | 56 |
57 |
58 |
59 | 尺寸 60 |
61 | 66 |
67 |
68 |
69 | 对齐书签 70 |
71 | 75 |
76 |
77 |
78 | 自动隐藏 79 |
80 | 81 |
82 | 等待指定秒数后自动隐藏,设为0直接隐藏,设为-1则始终显示。如需始终弹出书签栏,把自动隐藏设为-2,并把边距调到100。 83 |
84 |
保存
85 |
86 | 89 |
90 |
91 | 书签名 92 |
93 |
94 |
95 | 网址 96 |
97 |
98 |
99 | 颜色 100 |
101 |
102 |
103 | 序号 104 |
105 |
106 |
107 | 父书签 108 |
109 |
110 |
111 |
保存
112 |
取消
113 |
114 |
115 |
116 |
117 | ` 118 | return html 119 | } 120 | -------------------------------------------------------------------------------- /src/event.js: -------------------------------------------------------------------------------- 1 | import { randomColor, setIndex, renderAll, saveData, tryDownload } from './utils' 2 | import data from './data' 3 | import config, { applyConfig, initIpt, saveConfig } from './config'; 4 | 5 | export default function () { 6 | const tabs = document.querySelectorAll('#gbf-bookmark-setting .tab-bookmark-setting') 7 | const boxes = document.querySelectorAll('#gbf-bookmark-setting .setting-box-bookmark') 8 | 9 | tabs.forEach((tab, index) => { 10 | tab.addEventListener('click', function () { 11 | if (!tab.classList.contains('active-bookmark')) { 12 | tab.classList.add('active-bookmark') 13 | if (index === 0) { 14 | tabs[1].classList.remove('active-bookmark') 15 | boxes[1].classList.remove('box-active') 16 | } else { 17 | tabs[0].classList.remove('active-bookmark') 18 | boxes[0].classList.remove('box-active') 19 | } 20 | boxes[index].classList.add('box-active') 21 | } 22 | }) 23 | }) 24 | 25 | const setting = document.querySelector('#gbf-bookmark-setting') 26 | const closeBtn = document.querySelector('#btn-close-bookmark') 27 | const bookmark = document.querySelector('#gbf-bookmark-lacia') 28 | const btnShowSetting = document.querySelector('#show-setting-bookmark') 29 | bookmark.oncontextmenu = function (e) { 30 | e.preventDefault() 31 | } 32 | bookmark.addEventListener('mouseup', function (e) { 33 | if (e.button === 2) { 34 | showSetting() 35 | } 36 | }) 37 | btnShowSetting.addEventListener('click', function () { 38 | showSetting() 39 | }) 40 | const hideSetting = () => { 41 | setting.classList.remove('show-setting') 42 | } 43 | const showSetting = () => setting.classList.toggle('show-setting') 44 | closeBtn.addEventListener('click', hideSetting) 45 | 46 | const btnModalClose = document.querySelector('#btn-close-tagmodal') 47 | const tagModal = document.querySelector('#gbf-bookmark-tagmodal') 48 | const btnAddBookmark = document.querySelector('#btn-add-bookmark') 49 | const btnSaveTag = document.querySelector('#btn-save-tagmodal') 50 | 51 | const iptName = document.querySelector('#ipt-name-bookmark') 52 | const iptUrl = document.querySelector('#ipt-url-bookmark') 53 | const iptBgcolor = document.querySelector('#ipt-bgcolor-bookmark') 54 | const iptIndex = document.querySelector('#ipt-index-bookmark') 55 | const iptParent = document.querySelector('#ipt-parent-bookmark') 56 | 57 | btnModalClose.addEventListener('click', function () { 58 | tagModal.classList.remove('bookmark-active') 59 | }) 60 | 61 | const tagModalStatus = { type: 'add', index: 1 } 62 | btnAddBookmark.addEventListener('click', function () { 63 | tagModal.classList.add('bookmark-active') 64 | iptName.value = '' 65 | iptUrl.value = location.hash || '' 66 | iptBgcolor.value = randomColor() 67 | iptIndex.value = setIndex() 68 | iptParent.value = 0 69 | tagModalStatus.type = 'add' 70 | }) 71 | 72 | btnSaveTag.addEventListener('click', function () { 73 | const url = iptUrl.value 74 | const name = iptName.value || url.replace(/^#/, '') 75 | if (!url.trim()) return alert('缺少书签地址') 76 | const background = iptBgcolor.value 77 | const index = iptIndex.value | 0 78 | const parent = iptParent.value | 0 79 | if (tagModalStatus.type === 'add') { 80 | data.list.push({ name, url, background, index, parent }) 81 | } else { 82 | data.list[tagModalStatus.index] = { name, url, background, index, parent } 83 | } 84 | tagModal.classList.remove('bookmark-active') 85 | renderAll() 86 | saveData() 87 | }) 88 | 89 | const bookmarkCont = document.querySelector('#bookmark-cont') 90 | bookmarkCont.addEventListener('click', function (e) { 91 | const elemt = e.target 92 | if (elemt.classList.contains('edit-tag')) { 93 | tagModalStatus.type = 'edit' 94 | const index = tagModalStatus.index = elemt.dataset.index | 0 95 | const item = data.list[index] 96 | tagModal.classList.add('bookmark-active') 97 | iptName.value = item.name || '' 98 | iptUrl.value = item.url || '' 99 | iptBgcolor.value = item.background || randomColor() 100 | iptIndex.value = item.index || setIndex() 101 | iptParent.value = item.parent | 0 102 | } else if (elemt.classList.contains('delete-tag')) { 103 | if (!confirm('确定要删除这个书签吗?')) return 104 | const index = elemt.dataset.index | 0 105 | data.list.splice(index, 1) 106 | renderAll() 107 | saveData() 108 | } 109 | }) 110 | 111 | const btnSaveSetting = document.querySelector('#btn-save-setting') 112 | const iptPosition = document.getElementById('ipt-position-bookmark') 113 | const iptHidedelay = document.getElementById('ipt-hidedelay-bookmark') 114 | const iptMargin = document.getElementById('ipt-margin-bookmark') 115 | const iptAnimation = document.getElementById('ipt-animation-bookmark') 116 | const iptSize = document.getElementById('ipt-size-bookmark') 117 | const iptAlign = document.getElementById('ipt-align-bookmark') 118 | const iptMixed = document.getElementById('ipt-mixed-bookmark') 119 | btnSaveSetting.addEventListener('click', function () { 120 | config.position = iptPosition.value 121 | config.hideDelay = iptHidedelay.value | 0 122 | config.margin = iptMargin.value | 0 123 | config.animation = iptAnimation.value === 'open' 124 | config.size = iptSize.value | 0 125 | config.align = iptAlign.value 126 | config.mixed = iptMixed.value 127 | applyConfig() 128 | saveConfig() 129 | alert('保存成功') 130 | }) 131 | 132 | const btnImport = document.getElementById('btn-import-bookmark') 133 | const btnExport = document.getElementById('btn-export-bookmark') 134 | const iptImport = document.getElementById('ipt-import-bookmark') 135 | 136 | iptImport.addEventListener('change', function () { 137 | const files = this.files 138 | if (files.length) { 139 | var reader = new FileReader() 140 | reader.onload = (e => { 141 | try { 142 | const obj = JSON.parse(e.target.result) 143 | data.list = obj.data 144 | Object.assign(config, obj.config) 145 | applyConfig() 146 | initIpt() 147 | saveConfig() 148 | renderAll() 149 | saveData() 150 | alert('导入成功') 151 | } catch (err) { 152 | console.error(err) 153 | alert(`导入失败 ${err.message}`) 154 | } 155 | }) 156 | reader.readAsText(files[0]) 157 | } 158 | }) 159 | 160 | btnExport.addEventListener('click', function () { 161 | try { 162 | const obj = { data: data.list, config: config } 163 | tryDownload(JSON.stringify(obj, null, 2), 'GBF-Bookmark-Config.json') 164 | } catch (e) { 165 | console.error(e) 166 | } 167 | }) 168 | } 169 | -------------------------------------------------------------------------------- /src/utils.js: -------------------------------------------------------------------------------- 1 | import data from './data' 2 | 3 | const fontColor = (rgb) => { 4 | let str = rgb.slice(1) 5 | let r, g, b 6 | if (str.length === 6) { 7 | r = parseInt(str.slice(0, 2), 16) 8 | g = parseInt(str.slice(2, 4), 16) 9 | b = parseInt(str.slice(4, 6), 16) 10 | } else { 11 | r = str.slice(0, 1) 12 | r = parseInt(`${r}${r}`, 16) 13 | g = str.slice(1, 2) 14 | g = parseInt(`${g}${g}`, 16) 15 | b = str.slice(2, 3) 16 | b = parseInt(`${b}${b}`, 16) 17 | } 18 | const luminance = ( 0.299 * r + 0.587 * g + 0.114 * b) / 255 19 | if (luminance > 0.7) { 20 | return '#000' 21 | } else { 22 | return '#fff' 23 | } 24 | } 25 | 26 | const colors = [ '#ff972d', '#297fc8', '#5fc829', '#FFEB3B', '#c96883', '#8dc3dd', '#ffffff', '#eee3c8', 27 | '#009688', '#4CAF50', '#8BC34A', '#CDDC39', '#FFEB3B', '#FFC107', '#FF9800', '#FF5722', '#607D8B' 28 | ] 29 | 30 | const randomColor = () => { 31 | return colors[Math.floor(Math.random() * colors.length)] 32 | } 33 | 34 | const tagList = (list) => { 35 | const _list = [] 36 | const temp = [...list] 37 | temp.forEach((item, index) => { 38 | item._index = index 39 | }) 40 | const sl = temp.sort((prev, next) => { 41 | return prev.index - next.index 42 | }) 43 | const pList = sl.filter(item => !item.parent) 44 | _list.push(pList) 45 | const sList = sl.filter(item => item.parent).sort((prev, next) => prev.parent - next.parent) 46 | const subMap = new Map() 47 | sList.forEach(item => { 48 | const pid = parseInt(item.parent, 10) 49 | if (!subMap.has(pid)) { 50 | const pItem = pList.find(pitem => pitem.index === pid) || {} 51 | const bg = pItem.background || '#9E9E9E' 52 | const fc = fontColor(bg) 53 | subMap.set(pid, { index: _list.length, color: fc, bg: bg }) 54 | _list.push([item]) 55 | } else { 56 | const { index } = subMap.get(pid) 57 | _list[index].push(item) 58 | } 59 | }) 60 | return [_list, subMap] 61 | } 62 | 63 | const tagHtml = (item, index) => { 64 | const bg = item.background || '#297fc8' 65 | const color = item.color || fontColor(bg) 66 | return `
${item.index}
68 | 69 | ${item.name || 'NoName'}
` 70 | } 71 | const renderTag = () => { 72 | let html = '' 73 | const [list, subMap] = tagList(data.list) 74 | list[0].forEach((item, index) => { 75 | html += `${tagHtml(item, index)}` 76 | }) 77 | html = `
${html}
` 78 | for (let [pid, obj] of subMap) { 79 | const { index, color, bg } = obj 80 | html += `
${pid}` 81 | list[index].forEach(item => { 82 | html += `${tagHtml(item, index)}` 83 | }) 84 | html += `
` 85 | } 86 | return html 87 | } 88 | 89 | const renderList = () => { 90 | let html = '' 91 | let parentIds = [] 92 | const bookmarks = data.list 93 | if (bookmarks.length) { 94 | const childBookmarks = bookmarks.filter(item => !!item.parent) 95 | const parentList = bookmarks.filter(item => !item.parent) 96 | const childList = new Map() 97 | childBookmarks.forEach(item => { 98 | if (!childList.has(item.parent)) { 99 | childList.set(item.parent, []) 100 | } 101 | childList.get(item.parent).push(item) 102 | }) 103 | childList.forEach((list, pid) => { 104 | const item = parentList.find(obj => obj.index === pid) 105 | if (item) list.unshift(item) 106 | }) 107 | parentIds = [...childList.keys()] 108 | 109 | const makeList = (bkmks) => { 110 | const indexList = bkmks.map(item => item.index) 111 | let maxIndex = Math.max(...indexList) 112 | if (maxIndex > 100) maxIndex = 100 113 | if (maxIndex < 30) maxIndex = 30 114 | const list = new Array(maxIndex).fill({}) 115 | indexList.forEach((tag, idx) => { 116 | list[tag - 1] = bkmks[idx] 117 | }) 118 | return list 119 | } 120 | 121 | const renderHtml = (list, parent) => { 122 | let str = '' 123 | list.forEach(item => { 124 | if (item.url) { 125 | const bg = item.background || '#297fc8' 126 | const color = item.color || fontColor(bg) 127 | let className = `bookmark-item-lacia paper-shadow` 128 | if (parent && (!item.parent || item.index === parent)) { 129 | className += ' bookmark-item-parent' 130 | } 131 | if (item.url === 'reload') { 132 | str += `
${item.name || 'NoName'}
` 133 | } else if (item.url === 'back') { 134 | str += `
${item.name || 'NoName'}
` 135 | } else if (item.url === 'back&forward') { 136 | str += `
${item.name || 'NoName'}
` 137 | } else if (item.url === 'none') { 138 | str += `
${item.name || 'NoName'}
` 139 | } else if (item.url === 'forward') { 140 | str += `
${item.name || 'NoName'}
` 141 | } else { 142 | str += `
${item.name || 'NoName'}
` 143 | } 144 | } else { 145 | str += `
` 146 | } 147 | }) 148 | return `
${str}
` 149 | } 150 | 151 | childList.forEach((list, parent) => { 152 | html += renderHtml(makeList(list), parent) 153 | }) 154 | 155 | html += renderHtml(makeList(parentList), 0) 156 | } 157 | 158 | let css = '' 159 | parentIds.forEach(id => { 160 | css += `.bookmark-container-${id} {display:none} 161 | .bookmark-container-${id}:hover {display:none} 162 | ` 163 | }) 164 | html = `${html}` 165 | 166 | return html 167 | } 168 | 169 | 170 | const setIndex = () => { 171 | let index = 1 172 | data.list.forEach(item => { 173 | if (item.index === index) { 174 | index = item.index + 1 175 | } 176 | }) 177 | return index 178 | } 179 | 180 | const renderAll = () => { 181 | document.getElementById('bookmark-cont').innerHTML = renderTag() 182 | document.getElementById('gbf-bookmark-lacia').innerHTML = renderList() 183 | } 184 | 185 | const saveData = () => { 186 | try { 187 | localStorage.setItem('gbf-bookmark:data', JSON.stringify(data.list)) 188 | } catch (e) { 189 | 190 | } 191 | } 192 | 193 | const tryDownload = (content, filename) => { 194 | const eleLink = document.createElement('a') 195 | eleLink.download = filename 196 | eleLink.style.display = 'none' 197 | const blob = new Blob([content], { type: 'text/csv' }) 198 | eleLink.href = URL.createObjectURL(blob) 199 | document.body.appendChild(eleLink) 200 | eleLink.click() 201 | document.body.removeChild(eleLink) 202 | } 203 | 204 | export { renderTag, fontColor, renderList, randomColor, setIndex, renderAll, saveData, tryDownload } 205 | -------------------------------------------------------------------------------- /src/style.js: -------------------------------------------------------------------------------- 1 | 2 | const css = ` 3 | #gbf-bookmark-lacia { 4 | position: fixed; 5 | left: 0; 6 | top: 0; 7 | width: 2px; 8 | height: 100%; 9 | z-index: 9999999; 10 | left: -65px; 11 | pointer-events: none; 12 | transition: left 0.1s, right 0.1s; 13 | display: flex; 14 | } 15 | #gbf-bookmark-lacia.align-left-bookmark .bookmark-item-lacia { 16 | text-align: left; 17 | } 18 | #gbf-bookmark-lacia.align-center-bookmark .bookmark-item-lacia { 19 | text-align: center; 20 | } 21 | #gbf-bookmark-lacia.align-right-bookmark .bookmark-item-lacia { 22 | text-align: right; 23 | } 24 | .bookmark-container { 25 | position: absolute; 26 | left: 0; 27 | right: 0; 28 | z-index: 1; 29 | } 30 | .bookmark-container-sub { 31 | z-index: 2; 32 | } 33 | .bookmark-container-sub .bookmark-item-lacia { 34 | opacity: 0; 35 | pointer-events: none; 36 | } 37 | .bookmark-container-sub .bookmark-item-lacia.bookmark-item-parent { 38 | pointer-events: auto; 39 | } 40 | .bookmark-container-sub:hover { 41 | order: -1; 42 | } 43 | .bookmark-container-sub:hover .bookmark-item-lacia { 44 | opacity: 1; 45 | pointer-events: auto; 46 | } 47 | .bookmark-container-sub:hover ~ .bookmark-container { 48 | opacity: 0; 49 | } 50 | .bookmark-container-sub:hover ~ .bookmark-container-sub { 51 | pointer-events: none; 52 | display: none; 53 | } 54 | .bookmark-container-sub .bookmark-item-lacia:not(a) { 55 | width: 15px; 56 | padding: 0; 57 | } 58 | #gbf-bookmark-lacia.size-1 .bookmark-container-sub .bookmark-item-lacia:not(a) { 59 | width: 20px; 60 | padding: 0; 61 | } 62 | #gbf-bookmark-lacia.size-3 .bookmark-container-sub .bookmark-item-lacia:not(a) { 63 | width: 10px; 64 | padding: 0; 65 | } 66 | #show-setting-bookmark { 67 | position: fixed; 68 | top: 0; 69 | left: 0; 70 | width: 10px; 71 | height: 10px; 72 | z-index: 1000000; 73 | cursor: pointer; 74 | } 75 | #gbf-bookmark-lacia.bookmark-remove-anime, 76 | #gbf-bookmark-lacia.bookmark-remove-anime a.bookmark-item-lacia { 77 | transition: none; 78 | } 79 | #gbf-bookmark-lacia.autohide-bookmark { 80 | opacity: 0; 81 | } 82 | #gbf-bookmark-lacia.full-bookmark a.bookmark-item-lacia:nth-child(2n) { 83 | padding-right: 10px; 84 | } 85 | #gbf-bookmark-lacia.not-mixed-bookmark a.bookmark-item-lacia:nth-child(2n){ 86 | padding-right: 8px; 87 | } 88 | #gbf-bookmark-lacia.not-mixed-bookmark:hover a.bookmark-item-lacia:nth-child(2n){ 89 | padding-right: 8px; 90 | } 91 | #gbf-bookmark-lacia:not(.full-bookmark):hover { 92 | left: 0; 93 | } 94 | #gbf-bookmark-lacia.autohide-bookmark:hover { 95 | opacity: 1; 96 | } 97 | #gbf-bookmark-lacia:hover .bookmark-item-lacia { 98 | box-shadow: none; 99 | } 100 | #gbf-bookmark-lacia.size-1 .bookmark-item-lacia { 101 | width: 26px; 102 | height: 30px; 103 | line-height: 30px; 104 | padding-left: 11px; 105 | } 106 | #gbf-bookmark-lacia.size-1 .bookmark-item-lacia { 107 | width: 69px; 108 | font-size: 11px; 109 | } 110 | #gbf-bookmark-lacia.size-3 .bookmark-item-lacia { 111 | width: 18px; 112 | height: 20px; 113 | line-height: 20px; 114 | padding-left: 6px; 115 | } 116 | #gbf-bookmark-lacia.size-3 .bookmark-item-lacia { 117 | width: 44px; 118 | font-size: 7px; 119 | } 120 | .bookmark-item-lacia { 121 | width: 42px; 122 | height: 24px; 123 | line-height: 24px; 124 | padding-left: 8px; 125 | padding-right: 8px; 126 | box-sizing: content-box; 127 | display: block; 128 | position: relative; 129 | pointer-events: auto; 130 | } 131 | .bookmark-item-child { 132 | display: none; 133 | } 134 | #gbf-bookmark-lacia:hover a.bookmark-item-lacia:nth-child(2n) { 135 | padding-right: 10px; 136 | } 137 | a.bookmark-item-lacia:focus { 138 | outline: 0; 139 | } 140 | a.bookmark-item-lacia { 141 | width: 52px; 142 | background-color: #fff; 143 | text-decoration: none; 144 | white-space: nowrap; 145 | color: #000; 146 | font-size: 9px; 147 | font-family: -apple-system, -apple-system-font, "Microsoft JHengHei", HelveticaNeue, "Helvetica Neue", Helvetica, sans-serif; 148 | font-weight: 100; 149 | cursor: pointer; 150 | pointer-events: auto; 151 | z-index: 1; 152 | box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25); 153 | transition: left 0.3s, right 0.3s, box-shadow 0.3s, filter 0.3s; 154 | } 155 | .bookmark-item-lacia>div { 156 | text-overflow: ellipsis; 157 | overflow: hidden; 158 | height: 100%; 159 | } 160 | a.bookmark-item-lacia:hover { 161 | filter: brightness(0.9); 162 | } 163 | a.bookmark-item-lacia:active { 164 | filter: brightness(0.8); 165 | mix-blend-mode: multiply; 166 | } 167 | a.bookmark-item-lacia:active:before, a.bookmark-item-lacia:active:after { 168 | display: none; 169 | } 170 | .paper-shadow:before, .paper-shadow:after { 171 | content: ''; 172 | position: absolute; 173 | z-index: 1; 174 | left: 0; 175 | box-shadow: 0 0 10px rgba(0,0,0,0.35); 176 | border-radius: 50%; 177 | width: 100%; 178 | height: 20px; 179 | display: none; 180 | } 181 | .paper-shadow:before { 182 | display: block; 183 | top: 0px; 184 | clip: rect(-40px auto 0 auto); 185 | } 186 | .paper-shadow:after { 187 | display: block; 188 | bottom: 0px; 189 | clip: rect(20px auto 40px auto); 190 | } 191 | #gbf-bookmark-lacia.bookmark-right { 192 | left: auto; 193 | right: -65px; 194 | } 195 | #gbf-bookmark-lacia.bookmark-right:not(.full-bookmark):hover { 196 | right: 0; 197 | left: auto; 198 | } 199 | #gbf-bookmark-lacia.bookmark-right .bookmark-item-lacia { 200 | float: right; 201 | } 202 | .paper-shadow.dark-shadow:before,.paper-shadow.dark-shadow:after { 203 | box-shadow: 0 0 10px rgb(0, 0, 0, 0.5); 204 | } 205 | #gbf-bookmark-setting { 206 | position: fixed; 207 | z-index: 9999999; 208 | width: 280px; 209 | padding-bottom: 30px; 210 | min-height: 290px; 211 | max-height: calc(100% - 200px); 212 | top: 60px; 213 | left: 20px; 214 | background: #fffbe1; 215 | font-family: -apple-system, -apple-system-font, "Microsoft JHengHei", HelveticaNeue, "Helvetica Neue", Helvetica, sans-serif; 216 | font-weight: 100; 217 | display: none; 218 | } 219 | #gbf-bookmark-setting.show-setting { 220 | display: block; 221 | } 222 | #gbf-bookmark-setting .s-paper { 223 | position: absolute; 224 | bottom: -2px; 225 | width: calc(100% - 2px); 226 | left: 1px; 227 | height: 2px; 228 | background: #e8e4cb; 229 | } 230 | .tab-bookmark-setting { 231 | position: absolute; 232 | height: 24px; 233 | line-height: 24px; 234 | background: #e8e4cb; 235 | top: -24px; 236 | left: 1px; 237 | padding: 0 20px; 238 | font-size: 10px; 239 | z-index: 0; 240 | letter-spacing: 0.2em; 241 | cursor: pointer; 242 | } 243 | .tab-bookmark-setting:after { 244 | display: none; 245 | } 246 | .option-bookmark { 247 | left: 76px; 248 | } 249 | .option-bookmark.active-bookmark { 250 | left: 75px; 251 | } 252 | .active-bookmark { 253 | z-index: 2; 254 | background: #fffbe1; 255 | height: 25px; 256 | line-height: 25px; 257 | padding: 0 21px; 258 | left: 0px; 259 | } 260 | .footer-bookmark-setting { 261 | position: absolute; 262 | bottom: 0; 263 | width: 100%; 264 | left: 0; 265 | padding: 10px 0; 266 | text-align: center; 267 | } 268 | .footer-bookmark-setting .btn-bookmark { 269 | margin: 0 10px; 270 | } 271 | .btn-bookmark { 272 | padding: 4px 12px; 273 | font-size: 8px; 274 | cursor: pointer; 275 | display: inline-block; 276 | box-shadow: 0 0 1px rgba(0,0,0,0.05); 277 | background-color: #FFEB3B; 278 | } 279 | .btn-bookmark:hover { 280 | background-color: #fff280; 281 | } 282 | .btn-bookmark:active { 283 | background-color: #fff492; 284 | } 285 | .btn-bookmark.btn-add { 286 | padding: 2px 8px; 287 | color: #fff; 288 | background-color: #8BC34A; 289 | box-shadow: 0 1px 2px rgba(0,0,0,0.2); 290 | } 291 | .btn-bookmark.btn-add:after,.btn-bookmark.btn-add:before { 292 | display: none; 293 | } 294 | .btn-bookmark.btn-add:hover { 295 | filter: brightness(0.95); 296 | } 297 | .btn-bookmark.btn-add:active { 298 | filter: brightness(0.9); 299 | } 300 | .toolbar-bookmark { 301 | display: flex; 302 | justify-content: space-between; 303 | } 304 | .toolbar-bookmark .toolbar-right { 305 | display: flex; 306 | } 307 | .toolbar-bookmark .toolbar-right .btn-bookmark.btn-add { 308 | background: #03A9F4; 309 | margin-left: 10px; 310 | } 311 | .setting-box-bookmark { 312 | padding: 10px; 313 | display: none; 314 | } 315 | .setting-box-bookmark.box-active { 316 | display: block; 317 | } 318 | #bookmark-cont { 319 | margin: 4px 0; 320 | margin-right: -4px; 321 | overflow-y: auto; 322 | max-height: 320px; 323 | } 324 | #bookmark-cont .box-tag { 325 | border: 1px solid #9E9E9E; 326 | position: relative; 327 | display: flex; 328 | flex-wrap: wrap; 329 | margin-bottom: 8px; 330 | margin-right: 4px; 331 | padding: 4px; 332 | } 333 | #bookmark-cont .sub-index { 334 | font-size: 10px; 335 | box-shadow: 0 0 2px rgba(0,0,0,0.1); 336 | width: 16px; 337 | height: 16px; 338 | display: flex; 339 | z-index: 1; 340 | position: absolute; 341 | align-items: center; 342 | justify-content: center; 343 | right: -1px; 344 | top: -1px; 345 | } 346 | #bookmark-cont::-webkit-scrollbar { 347 | display: block; 348 | width: 4px; 349 | background: #e4eaa4; 350 | border-radius: 2px; 351 | } 352 | #bookmark-cont::-webkit-scrollbar-thumb { 353 | background: #8BC34A; 354 | border-radius: 2px; 355 | } 356 | .setting-box-bookmark .bookmark-tag { 357 | padding: 4px 12px; 358 | margin: 4px; 359 | font-size: 10px; 360 | } 361 | .setting-box-bookmark .idx-tag { 362 | position: absolute; 363 | left: 2px; 364 | top: 2px; 365 | font-size: 6px; 366 | padding: 0 2px; 367 | } 368 | .setting-box-bookmark .idx-tag-parent { 369 | position: absolute; 370 | right: 2px; 371 | bottom: 2px; 372 | font-size: 6px; 373 | padding: 0 2px; 374 | text-decoration: underline; 375 | } 376 | .setting-box-bookmark .edit-tag, .setting-box-bookmark .delete-tag { 377 | position: absolute; 378 | height: 100%; 379 | font-size: 8px; 380 | top: 0; 381 | right: 0; 382 | background: #FF9800; 383 | display: none; 384 | justify-content: center; 385 | align-items: center; 386 | width: 20px; 387 | color: #fff; 388 | cursor: pointer; 389 | } 390 | .setting-box-bookmark .edit-tag:hover, .setting-box-bookmark .delete-tag:hover { 391 | filter: brightness(0.9); 392 | } 393 | .setting-box-bookmark .edit-tag { 394 | right: 20px; 395 | background: #2196F3; 396 | } 397 | .bookmark-tag:hover .edit-tag, .bookmark-tag:hover .delete-tag { 398 | display: inline-flex; 399 | } 400 | .paper-shadow2 { 401 | position: relative; 402 | } 403 | .paper-shadow2:before, .paper-shadow2:after { 404 | z-index: -1; 405 | position: absolute; 406 | content: ''; 407 | bottom: 5px; 408 | width: calc(50% - 1px); 409 | height: 8px; 410 | background: rgb(0, 0, 0, 0); 411 | box-shadow: 0px 5px 2px 0px rgba(0, 0, 0, 0.38); 412 | } 413 | .paper-shadow2:before { 414 | transform: rotate(-3deg); 415 | left: 1px; 416 | } 417 | .paper-shadow2:after { 418 | transform: rotate(3deg); 419 | right: 1px; 420 | } 421 | #gbf-bookmark-tagmodal { 422 | position: absolute; 423 | left: 50%; 424 | top: 50%; 425 | transform: translate(-50%, -50%); 426 | width: 200px; 427 | background-color: #03A9F4; 428 | font-size: 9px; 429 | padding: 0 10px; 430 | box-shadow: 0 0 1px 0.1px rgba(0,0,0,0.2); 431 | display: none; 432 | } 433 | #gbf-bookmark-tagmodal.bookmark-active { 434 | display: block; 435 | } 436 | #gbf-bookmark-tagmodal > div { 437 | margin: 10px 0; 438 | text-align: center; 439 | display: flex; 440 | justify-content: center; 441 | } 442 | #gbf-bookmark-tagmodal .btn-bookmark { 443 | margin: 0 10px; 444 | background: #fff; 445 | } 446 | #gbf-bookmark-tagmodal .btn-bookmark:hover { 447 | background: #f3f3f3; 448 | } 449 | .setting-option-bookmark { 450 | font-size: 9px; 451 | max-height: 320px; 452 | overflow: auto; 453 | } 454 | .setting-option-bookmark>div { 455 | margin: 10px 0; 456 | padding: 0 10px; 457 | } 458 | .setting-option-bookmark .btn-bookmark { 459 | background: #03A9F4; 460 | color: #fff; 461 | } 462 | #gbf-bookmark-setting .label-setting, #gbf-bookmark-setting .label-tagmodal { 463 | background: #fff; 464 | height: 20px; 465 | line-height: 20px; 466 | padding: 0 8px; 467 | width: 40px; 468 | display: inline-block; 469 | margin-right: 10px; 470 | } 471 | #gbf-bookmark-setting .label-setting, 472 | #gbf-bookmark-setting .ipt-setting-bookmark { 473 | height: 18px; 474 | line-height: 18px; 475 | } 476 | .ipt-setting-cont, .ipt-tagmodal-cont { 477 | display: inline-block; 478 | } 479 | .setting-option-bookmark .hint-bookmark { 480 | display: block; 481 | margin-top: 10px; 482 | color: #777; 483 | width: 188px; 484 | font-weight: normal; 485 | } 486 | #gbf-bookmark-setting .ipt-setting-bookmark, #gbf-bookmark-setting .ipt-tagmodal { 487 | background: #fff; 488 | height: 20px; 489 | line-height: 20px; 490 | padding: 0 0 0 8px; 491 | margin: 0; 492 | border: 0; 493 | width: 112px; 494 | color: #666; 495 | } 496 | #gbf-bookmark-setting .ipt-setting-bookmark::placeholder, .ipt-tagmodal::placeholder { 497 | color: #aaa; 498 | } 499 | #gbf-bookmark-setting .ipt-setting-bookmark:focus, .ipt-tagmodal:focus { 500 | outline: 0; 501 | } 502 | ` 503 | 504 | export default css 505 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.0.0" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" 8 | dependencies: 9 | "@babel/highlight" "^7.0.0" 10 | 11 | "@babel/core@^7.4.0": 12 | version "7.4.0" 13 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.0.tgz#248fd6874b7d755010bfe61f557461d4f446d9e9" 14 | dependencies: 15 | "@babel/code-frame" "^7.0.0" 16 | "@babel/generator" "^7.4.0" 17 | "@babel/helpers" "^7.4.0" 18 | "@babel/parser" "^7.4.0" 19 | "@babel/template" "^7.4.0" 20 | "@babel/traverse" "^7.4.0" 21 | "@babel/types" "^7.4.0" 22 | convert-source-map "^1.1.0" 23 | debug "^4.1.0" 24 | json5 "^2.1.0" 25 | lodash "^4.17.11" 26 | resolve "^1.3.2" 27 | semver "^5.4.1" 28 | source-map "^0.5.0" 29 | 30 | "@babel/generator@^7.4.0": 31 | version "7.4.0" 32 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.0.tgz#c230e79589ae7a729fd4631b9ded4dc220418196" 33 | dependencies: 34 | "@babel/types" "^7.4.0" 35 | jsesc "^2.5.1" 36 | lodash "^4.17.11" 37 | source-map "^0.5.0" 38 | trim-right "^1.0.1" 39 | 40 | "@babel/helper-annotate-as-pure@^7.0.0": 41 | version "7.0.0" 42 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" 43 | dependencies: 44 | "@babel/types" "^7.0.0" 45 | 46 | "@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": 47 | version "7.1.0" 48 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" 49 | dependencies: 50 | "@babel/helper-explode-assignable-expression" "^7.1.0" 51 | "@babel/types" "^7.0.0" 52 | 53 | "@babel/helper-call-delegate@^7.4.0": 54 | version "7.4.0" 55 | resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.0.tgz#f308eabe0d44f451217853aedf4dea5f6fe3294f" 56 | dependencies: 57 | "@babel/helper-hoist-variables" "^7.4.0" 58 | "@babel/traverse" "^7.4.0" 59 | "@babel/types" "^7.4.0" 60 | 61 | "@babel/helper-define-map@^7.4.0": 62 | version "7.4.0" 63 | resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.0.tgz#cbfd8c1b2f12708e262c26f600cd16ed6a3bc6c9" 64 | dependencies: 65 | "@babel/helper-function-name" "^7.1.0" 66 | "@babel/types" "^7.4.0" 67 | lodash "^4.17.11" 68 | 69 | "@babel/helper-explode-assignable-expression@^7.1.0": 70 | version "7.1.0" 71 | resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" 72 | dependencies: 73 | "@babel/traverse" "^7.1.0" 74 | "@babel/types" "^7.0.0" 75 | 76 | "@babel/helper-function-name@^7.1.0": 77 | version "7.1.0" 78 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" 79 | dependencies: 80 | "@babel/helper-get-function-arity" "^7.0.0" 81 | "@babel/template" "^7.1.0" 82 | "@babel/types" "^7.0.0" 83 | 84 | "@babel/helper-get-function-arity@^7.0.0": 85 | version "7.0.0" 86 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" 87 | dependencies: 88 | "@babel/types" "^7.0.0" 89 | 90 | "@babel/helper-hoist-variables@^7.4.0": 91 | version "7.4.0" 92 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.0.tgz#25b621399ae229869329730a62015bbeb0a6fbd6" 93 | dependencies: 94 | "@babel/types" "^7.4.0" 95 | 96 | "@babel/helper-member-expression-to-functions@^7.0.0": 97 | version "7.0.0" 98 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" 99 | dependencies: 100 | "@babel/types" "^7.0.0" 101 | 102 | "@babel/helper-module-imports@^7.0.0": 103 | version "7.8.3" 104 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" 105 | integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== 106 | dependencies: 107 | "@babel/types" "^7.8.3" 108 | 109 | "@babel/helper-module-transforms@^7.1.0": 110 | version "7.2.2" 111 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963" 112 | dependencies: 113 | "@babel/helper-module-imports" "^7.0.0" 114 | "@babel/helper-simple-access" "^7.1.0" 115 | "@babel/helper-split-export-declaration" "^7.0.0" 116 | "@babel/template" "^7.2.2" 117 | "@babel/types" "^7.2.2" 118 | lodash "^4.17.10" 119 | 120 | "@babel/helper-optimise-call-expression@^7.0.0": 121 | version "7.0.0" 122 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" 123 | dependencies: 124 | "@babel/types" "^7.0.0" 125 | 126 | "@babel/helper-plugin-utils@^7.0.0": 127 | version "7.0.0" 128 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" 129 | 130 | "@babel/helper-regex@^7.0.0": 131 | version "7.0.0" 132 | resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" 133 | dependencies: 134 | lodash "^4.17.10" 135 | 136 | "@babel/helper-remap-async-to-generator@^7.1.0": 137 | version "7.1.0" 138 | resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" 139 | dependencies: 140 | "@babel/helper-annotate-as-pure" "^7.0.0" 141 | "@babel/helper-wrap-function" "^7.1.0" 142 | "@babel/template" "^7.1.0" 143 | "@babel/traverse" "^7.1.0" 144 | "@babel/types" "^7.0.0" 145 | 146 | "@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.0": 147 | version "7.4.0" 148 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.0.tgz#4f56adb6aedcd449d2da9399c2dcf0545463b64c" 149 | dependencies: 150 | "@babel/helper-member-expression-to-functions" "^7.0.0" 151 | "@babel/helper-optimise-call-expression" "^7.0.0" 152 | "@babel/traverse" "^7.4.0" 153 | "@babel/types" "^7.4.0" 154 | 155 | "@babel/helper-simple-access@^7.1.0": 156 | version "7.1.0" 157 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" 158 | dependencies: 159 | "@babel/template" "^7.1.0" 160 | "@babel/types" "^7.0.0" 161 | 162 | "@babel/helper-split-export-declaration@^7.0.0", "@babel/helper-split-export-declaration@^7.4.0": 163 | version "7.4.0" 164 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz#571bfd52701f492920d63b7f735030e9a3e10b55" 165 | dependencies: 166 | "@babel/types" "^7.4.0" 167 | 168 | "@babel/helper-wrap-function@^7.1.0": 169 | version "7.2.0" 170 | resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" 171 | dependencies: 172 | "@babel/helper-function-name" "^7.1.0" 173 | "@babel/template" "^7.1.0" 174 | "@babel/traverse" "^7.1.0" 175 | "@babel/types" "^7.2.0" 176 | 177 | "@babel/helpers@^7.4.0": 178 | version "7.4.2" 179 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.2.tgz#3bdfa46a552ca77ef5a0f8551be5f0845ae989be" 180 | dependencies: 181 | "@babel/template" "^7.4.0" 182 | "@babel/traverse" "^7.4.0" 183 | "@babel/types" "^7.4.0" 184 | 185 | "@babel/highlight@^7.0.0": 186 | version "7.0.0" 187 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" 188 | dependencies: 189 | chalk "^2.0.0" 190 | esutils "^2.0.2" 191 | js-tokens "^4.0.0" 192 | 193 | "@babel/parser@^7.4.0": 194 | version "7.4.2" 195 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.2.tgz#b4521a400cb5a871eab3890787b4bc1326d38d91" 196 | 197 | "@babel/plugin-proposal-async-generator-functions@^7.2.0": 198 | version "7.2.0" 199 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" 200 | dependencies: 201 | "@babel/helper-plugin-utils" "^7.0.0" 202 | "@babel/helper-remap-async-to-generator" "^7.1.0" 203 | "@babel/plugin-syntax-async-generators" "^7.2.0" 204 | 205 | "@babel/plugin-proposal-json-strings@^7.2.0": 206 | version "7.2.0" 207 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" 208 | dependencies: 209 | "@babel/helper-plugin-utils" "^7.0.0" 210 | "@babel/plugin-syntax-json-strings" "^7.2.0" 211 | 212 | "@babel/plugin-proposal-object-rest-spread@^7.4.0": 213 | version "7.4.0" 214 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.0.tgz#e4960575205eadf2a1ab4e0c79f9504d5b82a97f" 215 | dependencies: 216 | "@babel/helper-plugin-utils" "^7.0.0" 217 | "@babel/plugin-syntax-object-rest-spread" "^7.2.0" 218 | 219 | "@babel/plugin-proposal-optional-catch-binding@^7.2.0": 220 | version "7.2.0" 221 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" 222 | dependencies: 223 | "@babel/helper-plugin-utils" "^7.0.0" 224 | "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" 225 | 226 | "@babel/plugin-proposal-unicode-property-regex@^7.4.0": 227 | version "7.4.0" 228 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.0.tgz#202d91ee977d760ef83f4f416b280d568be84623" 229 | dependencies: 230 | "@babel/helper-plugin-utils" "^7.0.0" 231 | "@babel/helper-regex" "^7.0.0" 232 | regexpu-core "^4.5.4" 233 | 234 | "@babel/plugin-syntax-async-generators@^7.2.0": 235 | version "7.2.0" 236 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" 237 | dependencies: 238 | "@babel/helper-plugin-utils" "^7.0.0" 239 | 240 | "@babel/plugin-syntax-json-strings@^7.2.0": 241 | version "7.2.0" 242 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" 243 | dependencies: 244 | "@babel/helper-plugin-utils" "^7.0.0" 245 | 246 | "@babel/plugin-syntax-object-rest-spread@^7.2.0": 247 | version "7.2.0" 248 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" 249 | dependencies: 250 | "@babel/helper-plugin-utils" "^7.0.0" 251 | 252 | "@babel/plugin-syntax-optional-catch-binding@^7.2.0": 253 | version "7.2.0" 254 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" 255 | dependencies: 256 | "@babel/helper-plugin-utils" "^7.0.0" 257 | 258 | "@babel/plugin-transform-arrow-functions@^7.2.0": 259 | version "7.2.0" 260 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" 261 | dependencies: 262 | "@babel/helper-plugin-utils" "^7.0.0" 263 | 264 | "@babel/plugin-transform-async-to-generator@^7.4.0": 265 | version "7.4.0" 266 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.0.tgz#234fe3e458dce95865c0d152d256119b237834b0" 267 | dependencies: 268 | "@babel/helper-module-imports" "^7.0.0" 269 | "@babel/helper-plugin-utils" "^7.0.0" 270 | "@babel/helper-remap-async-to-generator" "^7.1.0" 271 | 272 | "@babel/plugin-transform-block-scoped-functions@^7.2.0": 273 | version "7.2.0" 274 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" 275 | dependencies: 276 | "@babel/helper-plugin-utils" "^7.0.0" 277 | 278 | "@babel/plugin-transform-block-scoping@^7.4.0": 279 | version "7.4.0" 280 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.0.tgz#164df3bb41e3deb954c4ca32ffa9fcaa56d30bcb" 281 | dependencies: 282 | "@babel/helper-plugin-utils" "^7.0.0" 283 | lodash "^4.17.11" 284 | 285 | "@babel/plugin-transform-classes@^7.4.0": 286 | version "7.4.0" 287 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.0.tgz#e3428d3c8a3d01f33b10c529b998ba1707043d4d" 288 | dependencies: 289 | "@babel/helper-annotate-as-pure" "^7.0.0" 290 | "@babel/helper-define-map" "^7.4.0" 291 | "@babel/helper-function-name" "^7.1.0" 292 | "@babel/helper-optimise-call-expression" "^7.0.0" 293 | "@babel/helper-plugin-utils" "^7.0.0" 294 | "@babel/helper-replace-supers" "^7.4.0" 295 | "@babel/helper-split-export-declaration" "^7.4.0" 296 | globals "^11.1.0" 297 | 298 | "@babel/plugin-transform-computed-properties@^7.2.0": 299 | version "7.2.0" 300 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" 301 | dependencies: 302 | "@babel/helper-plugin-utils" "^7.0.0" 303 | 304 | "@babel/plugin-transform-destructuring@^7.4.0": 305 | version "7.4.0" 306 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.0.tgz#acbb9b2418d290107db333f4d6cd8aa6aea00343" 307 | dependencies: 308 | "@babel/helper-plugin-utils" "^7.0.0" 309 | 310 | "@babel/plugin-transform-dotall-regex@^7.2.0": 311 | version "7.2.0" 312 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" 313 | dependencies: 314 | "@babel/helper-plugin-utils" "^7.0.0" 315 | "@babel/helper-regex" "^7.0.0" 316 | regexpu-core "^4.1.3" 317 | 318 | "@babel/plugin-transform-duplicate-keys@^7.2.0": 319 | version "7.2.0" 320 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" 321 | dependencies: 322 | "@babel/helper-plugin-utils" "^7.0.0" 323 | 324 | "@babel/plugin-transform-exponentiation-operator@^7.2.0": 325 | version "7.2.0" 326 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" 327 | dependencies: 328 | "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" 329 | "@babel/helper-plugin-utils" "^7.0.0" 330 | 331 | "@babel/plugin-transform-for-of@^7.4.0": 332 | version "7.4.0" 333 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.0.tgz#56c8c36677f5d4a16b80b12f7b768de064aaeb5f" 334 | dependencies: 335 | "@babel/helper-plugin-utils" "^7.0.0" 336 | 337 | "@babel/plugin-transform-function-name@^7.2.0": 338 | version "7.2.0" 339 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" 340 | dependencies: 341 | "@babel/helper-function-name" "^7.1.0" 342 | "@babel/helper-plugin-utils" "^7.0.0" 343 | 344 | "@babel/plugin-transform-literals@^7.2.0": 345 | version "7.2.0" 346 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" 347 | dependencies: 348 | "@babel/helper-plugin-utils" "^7.0.0" 349 | 350 | "@babel/plugin-transform-modules-amd@^7.2.0": 351 | version "7.2.0" 352 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" 353 | dependencies: 354 | "@babel/helper-module-transforms" "^7.1.0" 355 | "@babel/helper-plugin-utils" "^7.0.0" 356 | 357 | "@babel/plugin-transform-modules-commonjs@^7.4.0": 358 | version "7.4.0" 359 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.0.tgz#3b8ec61714d3b75d20c5ccfa157f2c2e087fd4ca" 360 | dependencies: 361 | "@babel/helper-module-transforms" "^7.1.0" 362 | "@babel/helper-plugin-utils" "^7.0.0" 363 | "@babel/helper-simple-access" "^7.1.0" 364 | 365 | "@babel/plugin-transform-modules-systemjs@^7.4.0": 366 | version "7.4.0" 367 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.0.tgz#c2495e55528135797bc816f5d50f851698c586a1" 368 | dependencies: 369 | "@babel/helper-hoist-variables" "^7.4.0" 370 | "@babel/helper-plugin-utils" "^7.0.0" 371 | 372 | "@babel/plugin-transform-modules-umd@^7.2.0": 373 | version "7.2.0" 374 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" 375 | dependencies: 376 | "@babel/helper-module-transforms" "^7.1.0" 377 | "@babel/helper-plugin-utils" "^7.0.0" 378 | 379 | "@babel/plugin-transform-named-capturing-groups-regex@^7.4.2": 380 | version "7.4.2" 381 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.2.tgz#800391136d6cbcc80728dbdba3c1c6e46f86c12e" 382 | dependencies: 383 | regexp-tree "^0.1.0" 384 | 385 | "@babel/plugin-transform-new-target@^7.4.0": 386 | version "7.4.0" 387 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.0.tgz#67658a1d944edb53c8d4fa3004473a0dd7838150" 388 | dependencies: 389 | "@babel/helper-plugin-utils" "^7.0.0" 390 | 391 | "@babel/plugin-transform-object-super@^7.2.0": 392 | version "7.2.0" 393 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" 394 | dependencies: 395 | "@babel/helper-plugin-utils" "^7.0.0" 396 | "@babel/helper-replace-supers" "^7.1.0" 397 | 398 | "@babel/plugin-transform-parameters@^7.4.0": 399 | version "7.4.0" 400 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.0.tgz#a1309426fac4eecd2a9439a4c8c35124a11a48a9" 401 | dependencies: 402 | "@babel/helper-call-delegate" "^7.4.0" 403 | "@babel/helper-get-function-arity" "^7.0.0" 404 | "@babel/helper-plugin-utils" "^7.0.0" 405 | 406 | "@babel/plugin-transform-regenerator@^7.4.0": 407 | version "7.4.0" 408 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.0.tgz#0780e27ee458cc3fdbad18294d703e972ae1f6d1" 409 | dependencies: 410 | regenerator-transform "^0.13.4" 411 | 412 | "@babel/plugin-transform-shorthand-properties@^7.2.0": 413 | version "7.2.0" 414 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" 415 | dependencies: 416 | "@babel/helper-plugin-utils" "^7.0.0" 417 | 418 | "@babel/plugin-transform-spread@^7.2.0": 419 | version "7.2.2" 420 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" 421 | dependencies: 422 | "@babel/helper-plugin-utils" "^7.0.0" 423 | 424 | "@babel/plugin-transform-sticky-regex@^7.2.0": 425 | version "7.2.0" 426 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" 427 | dependencies: 428 | "@babel/helper-plugin-utils" "^7.0.0" 429 | "@babel/helper-regex" "^7.0.0" 430 | 431 | "@babel/plugin-transform-template-literals@^7.2.0": 432 | version "7.2.0" 433 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" 434 | dependencies: 435 | "@babel/helper-annotate-as-pure" "^7.0.0" 436 | "@babel/helper-plugin-utils" "^7.0.0" 437 | 438 | "@babel/plugin-transform-typeof-symbol@^7.2.0": 439 | version "7.2.0" 440 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" 441 | dependencies: 442 | "@babel/helper-plugin-utils" "^7.0.0" 443 | 444 | "@babel/plugin-transform-unicode-regex@^7.2.0": 445 | version "7.2.0" 446 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" 447 | dependencies: 448 | "@babel/helper-plugin-utils" "^7.0.0" 449 | "@babel/helper-regex" "^7.0.0" 450 | regexpu-core "^4.1.3" 451 | 452 | "@babel/preset-env@^7.4.2": 453 | version "7.4.2" 454 | resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.2.tgz#2f5ba1de2daefa9dcca653848f96c7ce2e406676" 455 | dependencies: 456 | "@babel/helper-module-imports" "^7.0.0" 457 | "@babel/helper-plugin-utils" "^7.0.0" 458 | "@babel/plugin-proposal-async-generator-functions" "^7.2.0" 459 | "@babel/plugin-proposal-json-strings" "^7.2.0" 460 | "@babel/plugin-proposal-object-rest-spread" "^7.4.0" 461 | "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" 462 | "@babel/plugin-proposal-unicode-property-regex" "^7.4.0" 463 | "@babel/plugin-syntax-async-generators" "^7.2.0" 464 | "@babel/plugin-syntax-json-strings" "^7.2.0" 465 | "@babel/plugin-syntax-object-rest-spread" "^7.2.0" 466 | "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" 467 | "@babel/plugin-transform-arrow-functions" "^7.2.0" 468 | "@babel/plugin-transform-async-to-generator" "^7.4.0" 469 | "@babel/plugin-transform-block-scoped-functions" "^7.2.0" 470 | "@babel/plugin-transform-block-scoping" "^7.4.0" 471 | "@babel/plugin-transform-classes" "^7.4.0" 472 | "@babel/plugin-transform-computed-properties" "^7.2.0" 473 | "@babel/plugin-transform-destructuring" "^7.4.0" 474 | "@babel/plugin-transform-dotall-regex" "^7.2.0" 475 | "@babel/plugin-transform-duplicate-keys" "^7.2.0" 476 | "@babel/plugin-transform-exponentiation-operator" "^7.2.0" 477 | "@babel/plugin-transform-for-of" "^7.4.0" 478 | "@babel/plugin-transform-function-name" "^7.2.0" 479 | "@babel/plugin-transform-literals" "^7.2.0" 480 | "@babel/plugin-transform-modules-amd" "^7.2.0" 481 | "@babel/plugin-transform-modules-commonjs" "^7.4.0" 482 | "@babel/plugin-transform-modules-systemjs" "^7.4.0" 483 | "@babel/plugin-transform-modules-umd" "^7.2.0" 484 | "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.2" 485 | "@babel/plugin-transform-new-target" "^7.4.0" 486 | "@babel/plugin-transform-object-super" "^7.2.0" 487 | "@babel/plugin-transform-parameters" "^7.4.0" 488 | "@babel/plugin-transform-regenerator" "^7.4.0" 489 | "@babel/plugin-transform-shorthand-properties" "^7.2.0" 490 | "@babel/plugin-transform-spread" "^7.2.0" 491 | "@babel/plugin-transform-sticky-regex" "^7.2.0" 492 | "@babel/plugin-transform-template-literals" "^7.2.0" 493 | "@babel/plugin-transform-typeof-symbol" "^7.2.0" 494 | "@babel/plugin-transform-unicode-regex" "^7.2.0" 495 | "@babel/types" "^7.4.0" 496 | browserslist "^4.4.2" 497 | core-js-compat "^3.0.0" 498 | invariant "^2.2.2" 499 | js-levenshtein "^1.1.3" 500 | semver "^5.3.0" 501 | 502 | "@babel/template@^7.1.0", "@babel/template@^7.2.2", "@babel/template@^7.4.0": 503 | version "7.4.0" 504 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.0.tgz#12474e9c077bae585c5d835a95c0b0b790c25c8b" 505 | dependencies: 506 | "@babel/code-frame" "^7.0.0" 507 | "@babel/parser" "^7.4.0" 508 | "@babel/types" "^7.4.0" 509 | 510 | "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.0": 511 | version "7.4.0" 512 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.0.tgz#14006967dd1d2b3494cdd650c686db9daf0ddada" 513 | dependencies: 514 | "@babel/code-frame" "^7.0.0" 515 | "@babel/generator" "^7.4.0" 516 | "@babel/helper-function-name" "^7.1.0" 517 | "@babel/helper-split-export-declaration" "^7.4.0" 518 | "@babel/parser" "^7.4.0" 519 | "@babel/types" "^7.4.0" 520 | debug "^4.1.0" 521 | globals "^11.1.0" 522 | lodash "^4.17.11" 523 | 524 | "@babel/types@^7.0.0", "@babel/types@^7.8.3": 525 | version "7.8.7" 526 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.7.tgz#1fc9729e1acbb2337d5b6977a63979b4819f5d1d" 527 | integrity sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw== 528 | dependencies: 529 | esutils "^2.0.2" 530 | lodash "^4.17.13" 531 | to-fast-properties "^2.0.0" 532 | 533 | "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.4.0": 534 | version "7.4.0" 535 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.0.tgz#670724f77d24cce6cc7d8cf64599d511d164894c" 536 | dependencies: 537 | esutils "^2.0.2" 538 | lodash "^4.17.11" 539 | to-fast-properties "^2.0.0" 540 | 541 | "@types/estree@0.0.39": 542 | version "0.0.39" 543 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 544 | 545 | "@types/node@^11.11.6": 546 | version "11.13.0" 547 | resolved "https://registry.yarnpkg.com/@types/node/-/node-11.13.0.tgz#b0df8d6ef9b5001b2be3a94d909ce3c29a80f9e1" 548 | 549 | acorn@^6.1.1: 550 | version "6.4.1" 551 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" 552 | 553 | ansi-styles@^3.2.1: 554 | version "3.2.1" 555 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 556 | dependencies: 557 | color-convert "^1.9.0" 558 | 559 | arr-diff@^4.0.0: 560 | version "4.0.0" 561 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 562 | integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= 563 | 564 | arr-flatten@^1.1.0: 565 | version "1.1.0" 566 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 567 | integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== 568 | 569 | arr-union@^3.1.0: 570 | version "3.1.0" 571 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 572 | integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= 573 | 574 | array-union@^1.0.1: 575 | version "1.0.2" 576 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 577 | dependencies: 578 | array-uniq "^1.0.1" 579 | 580 | array-uniq@^1.0.1: 581 | version "1.0.3" 582 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 583 | 584 | array-unique@^0.3.2: 585 | version "0.3.2" 586 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 587 | integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= 588 | 589 | assign-symbols@^1.0.0: 590 | version "1.0.0" 591 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 592 | integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= 593 | 594 | async@^2.6.1: 595 | version "2.6.4" 596 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" 597 | integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== 598 | dependencies: 599 | lodash "^4.17.14" 600 | 601 | atob@^2.1.2: 602 | version "2.1.2" 603 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 604 | integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 605 | 606 | balanced-match@^1.0.0: 607 | version "1.0.2" 608 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 609 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 610 | 611 | base@^0.11.1: 612 | version "0.11.2" 613 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 614 | integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== 615 | dependencies: 616 | cache-base "^1.0.1" 617 | class-utils "^0.3.5" 618 | component-emitter "^1.2.1" 619 | define-property "^1.0.0" 620 | isobject "^3.0.1" 621 | mixin-deep "^1.2.0" 622 | pascalcase "^0.1.1" 623 | 624 | brace-expansion@^1.1.7: 625 | version "1.1.11" 626 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 627 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 628 | dependencies: 629 | balanced-match "^1.0.0" 630 | concat-map "0.0.1" 631 | 632 | braces@^2.3.1: 633 | version "2.3.2" 634 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 635 | integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== 636 | dependencies: 637 | arr-flatten "^1.1.0" 638 | array-unique "^0.3.2" 639 | extend-shallow "^2.0.1" 640 | fill-range "^4.0.0" 641 | isobject "^3.0.1" 642 | repeat-element "^1.1.2" 643 | snapdragon "^0.8.1" 644 | snapdragon-node "^2.0.1" 645 | split-string "^3.0.2" 646 | to-regex "^3.0.1" 647 | 648 | browserslist@^4.4.2, browserslist@^4.5.1: 649 | version "4.16.6" 650 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" 651 | integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== 652 | dependencies: 653 | caniuse-lite "^1.0.30001219" 654 | colorette "^1.2.2" 655 | electron-to-chromium "^1.3.723" 656 | escalade "^3.1.1" 657 | node-releases "^1.1.71" 658 | 659 | cache-base@^1.0.1: 660 | version "1.0.1" 661 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 662 | integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== 663 | dependencies: 664 | collection-visit "^1.0.0" 665 | component-emitter "^1.2.1" 666 | get-value "^2.0.6" 667 | has-value "^1.0.0" 668 | isobject "^3.0.1" 669 | set-value "^2.0.0" 670 | to-object-path "^0.3.0" 671 | union-value "^1.0.0" 672 | unset-value "^1.0.0" 673 | 674 | caniuse-lite@^1.0.30001219: 675 | version "1.0.30001228" 676 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa" 677 | integrity sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A== 678 | 679 | chalk@^2.0.0: 680 | version "2.4.2" 681 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 682 | dependencies: 683 | ansi-styles "^3.2.1" 684 | escape-string-regexp "^1.0.5" 685 | supports-color "^5.3.0" 686 | 687 | class-utils@^0.3.5: 688 | version "0.3.6" 689 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 690 | integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== 691 | dependencies: 692 | arr-union "^3.1.0" 693 | define-property "^0.2.5" 694 | isobject "^3.0.0" 695 | static-extend "^0.1.1" 696 | 697 | collection-visit@^1.0.0: 698 | version "1.0.0" 699 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 700 | integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= 701 | dependencies: 702 | map-visit "^1.0.0" 703 | object-visit "^1.0.0" 704 | 705 | color-convert@^1.9.0: 706 | version "1.9.3" 707 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 708 | dependencies: 709 | color-name "1.1.3" 710 | 711 | color-name@1.1.3: 712 | version "1.1.3" 713 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 714 | 715 | colorette@^1.2.2: 716 | version "1.2.2" 717 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 718 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== 719 | 720 | commander@^2.18.0: 721 | version "2.19.0" 722 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" 723 | 724 | component-emitter@^1.2.1: 725 | version "1.3.0" 726 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" 727 | integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== 728 | 729 | concat-map@0.0.1: 730 | version "0.0.1" 731 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 732 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 733 | 734 | convert-source-map@^1.1.0: 735 | version "1.6.0" 736 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" 737 | dependencies: 738 | safe-buffer "~5.1.1" 739 | 740 | copy-descriptor@^0.1.0: 741 | version "0.1.1" 742 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 743 | integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= 744 | 745 | core-js-compat@^3.0.0: 746 | version "3.0.0" 747 | resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.0.0.tgz#cd9810b8000742535a4a43773866185e310bd4f7" 748 | dependencies: 749 | browserslist "^4.5.1" 750 | core-js "3.0.0" 751 | core-js-pure "3.0.0" 752 | semver "^5.6.0" 753 | 754 | core-js-pure@3.0.0: 755 | version "3.0.0" 756 | resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.0.0.tgz#a5679adb4875427c8c0488afc93e6f5b7125859b" 757 | 758 | core-js@3, core-js@3.0.0: 759 | version "3.0.0" 760 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.0.tgz#a8dbfa978d29bfc263bfb66c556d0ca924c28957" 761 | 762 | debug@^2.2.0, debug@^2.3.3: 763 | version "2.6.9" 764 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 765 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 766 | dependencies: 767 | ms "2.0.0" 768 | 769 | debug@^4.1.0: 770 | version "4.1.1" 771 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 772 | dependencies: 773 | ms "^2.1.1" 774 | 775 | decode-uri-component@^0.2.0: 776 | version "0.2.2" 777 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" 778 | integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== 779 | 780 | define-property@^0.2.5: 781 | version "0.2.5" 782 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 783 | integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= 784 | dependencies: 785 | is-descriptor "^0.1.0" 786 | 787 | define-property@^1.0.0: 788 | version "1.0.0" 789 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 790 | integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= 791 | dependencies: 792 | is-descriptor "^1.0.0" 793 | 794 | define-property@^2.0.2: 795 | version "2.0.2" 796 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 797 | integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== 798 | dependencies: 799 | is-descriptor "^1.0.2" 800 | isobject "^3.0.1" 801 | 802 | electron-to-chromium@^1.3.723: 803 | version "1.3.736" 804 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052" 805 | integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig== 806 | 807 | email-addresses@^3.0.1: 808 | version "3.0.3" 809 | resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.0.3.tgz#fc3c6952f68da24239914e982c8a7783bc2ed96d" 810 | 811 | escalade@^3.1.1: 812 | version "3.1.1" 813 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 814 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 815 | 816 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 817 | version "1.0.5" 818 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 819 | 820 | estree-walker@^0.6.0, estree-walker@^0.6.1: 821 | version "0.6.1" 822 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 823 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 824 | 825 | esutils@^2.0.2: 826 | version "2.0.3" 827 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 828 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 829 | 830 | expand-brackets@^2.1.4: 831 | version "2.1.4" 832 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 833 | integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= 834 | dependencies: 835 | debug "^2.3.3" 836 | define-property "^0.2.5" 837 | extend-shallow "^2.0.1" 838 | posix-character-classes "^0.1.0" 839 | regex-not "^1.0.0" 840 | snapdragon "^0.8.1" 841 | to-regex "^3.0.1" 842 | 843 | extend-shallow@^2.0.1: 844 | version "2.0.1" 845 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 846 | integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= 847 | dependencies: 848 | is-extendable "^0.1.0" 849 | 850 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 851 | version "3.0.2" 852 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 853 | integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= 854 | dependencies: 855 | assign-symbols "^1.0.0" 856 | is-extendable "^1.0.1" 857 | 858 | extglob@^2.0.4: 859 | version "2.0.4" 860 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 861 | integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== 862 | dependencies: 863 | array-unique "^0.3.2" 864 | define-property "^1.0.0" 865 | expand-brackets "^2.1.4" 866 | extend-shallow "^2.0.1" 867 | fragment-cache "^0.2.1" 868 | regex-not "^1.0.0" 869 | snapdragon "^0.8.1" 870 | to-regex "^3.0.1" 871 | 872 | filename-reserved-regex@^1.0.0: 873 | version "1.0.0" 874 | resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" 875 | 876 | filenamify-url@^1.0.0: 877 | version "1.0.0" 878 | resolved "https://registry.yarnpkg.com/filenamify-url/-/filenamify-url-1.0.0.tgz#b32bd81319ef5863b73078bed50f46a4f7975f50" 879 | dependencies: 880 | filenamify "^1.0.0" 881 | humanize-url "^1.0.0" 882 | 883 | filenamify@^1.0.0: 884 | version "1.2.1" 885 | resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" 886 | dependencies: 887 | filename-reserved-regex "^1.0.0" 888 | strip-outer "^1.0.0" 889 | trim-repeated "^1.0.0" 890 | 891 | fill-range@^4.0.0: 892 | version "4.0.0" 893 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 894 | integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= 895 | dependencies: 896 | extend-shallow "^2.0.1" 897 | is-number "^3.0.0" 898 | repeat-string "^1.6.1" 899 | to-regex-range "^2.1.0" 900 | 901 | for-in@^1.0.2: 902 | version "1.0.2" 903 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 904 | integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= 905 | 906 | fragment-cache@^0.2.1: 907 | version "0.2.1" 908 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 909 | integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= 910 | dependencies: 911 | map-cache "^0.2.2" 912 | 913 | fs-extra@^7.0.0: 914 | version "7.0.1" 915 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" 916 | dependencies: 917 | graceful-fs "^4.1.2" 918 | jsonfile "^4.0.0" 919 | universalify "^0.1.0" 920 | 921 | fs.realpath@^1.0.0: 922 | version "1.0.0" 923 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 924 | 925 | get-value@^2.0.3, get-value@^2.0.6: 926 | version "2.0.6" 927 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 928 | integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= 929 | 930 | gh-pages@^2.0.1: 931 | version "2.0.1" 932 | resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-2.0.1.tgz#aefe47a43b8d9d2aa3130576b33fe95641e29a2f" 933 | dependencies: 934 | async "^2.6.1" 935 | commander "^2.18.0" 936 | email-addresses "^3.0.1" 937 | filenamify-url "^1.0.0" 938 | fs-extra "^7.0.0" 939 | globby "^6.1.0" 940 | graceful-fs "^4.1.11" 941 | rimraf "^2.6.2" 942 | 943 | glob@^7.0.3, glob@^7.1.3: 944 | version "7.1.3" 945 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 946 | dependencies: 947 | fs.realpath "^1.0.0" 948 | inflight "^1.0.4" 949 | inherits "2" 950 | minimatch "^3.0.4" 951 | once "^1.3.0" 952 | path-is-absolute "^1.0.0" 953 | 954 | globals@^11.1.0: 955 | version "11.11.0" 956 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e" 957 | 958 | globby@^6.1.0: 959 | version "6.1.0" 960 | resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" 961 | dependencies: 962 | array-union "^1.0.1" 963 | glob "^7.0.3" 964 | object-assign "^4.0.1" 965 | pify "^2.0.0" 966 | pinkie-promise "^2.0.0" 967 | 968 | graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: 969 | version "4.1.15" 970 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 971 | 972 | has-flag@^3.0.0: 973 | version "3.0.0" 974 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 975 | 976 | has-value@^0.3.1: 977 | version "0.3.1" 978 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 979 | integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= 980 | dependencies: 981 | get-value "^2.0.3" 982 | has-values "^0.1.4" 983 | isobject "^2.0.0" 984 | 985 | has-value@^1.0.0: 986 | version "1.0.0" 987 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 988 | integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= 989 | dependencies: 990 | get-value "^2.0.6" 991 | has-values "^1.0.0" 992 | isobject "^3.0.0" 993 | 994 | has-values@^0.1.4: 995 | version "0.1.4" 996 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 997 | integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= 998 | 999 | has-values@^1.0.0: 1000 | version "1.0.0" 1001 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1002 | integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= 1003 | dependencies: 1004 | is-number "^3.0.0" 1005 | kind-of "^4.0.0" 1006 | 1007 | humanize-url@^1.0.0: 1008 | version "1.0.1" 1009 | resolved "https://registry.yarnpkg.com/humanize-url/-/humanize-url-1.0.1.tgz#f4ab99e0d288174ca4e1e50407c55fbae464efff" 1010 | dependencies: 1011 | normalize-url "^1.0.0" 1012 | strip-url-auth "^1.0.0" 1013 | 1014 | inflight@^1.0.4: 1015 | version "1.0.6" 1016 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1017 | dependencies: 1018 | once "^1.3.0" 1019 | wrappy "1" 1020 | 1021 | inherits@2: 1022 | version "2.0.3" 1023 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1024 | 1025 | invariant@^2.2.2: 1026 | version "2.2.4" 1027 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 1028 | dependencies: 1029 | loose-envify "^1.0.0" 1030 | 1031 | is-accessor-descriptor@^0.1.6: 1032 | version "0.1.6" 1033 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1034 | integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= 1035 | dependencies: 1036 | kind-of "^3.0.2" 1037 | 1038 | is-accessor-descriptor@^1.0.0: 1039 | version "1.0.0" 1040 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 1041 | integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== 1042 | dependencies: 1043 | kind-of "^6.0.0" 1044 | 1045 | is-buffer@^1.1.5: 1046 | version "1.1.6" 1047 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1048 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 1049 | 1050 | is-data-descriptor@^0.1.4: 1051 | version "0.1.4" 1052 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1053 | integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= 1054 | dependencies: 1055 | kind-of "^3.0.2" 1056 | 1057 | is-data-descriptor@^1.0.0: 1058 | version "1.0.0" 1059 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 1060 | integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== 1061 | dependencies: 1062 | kind-of "^6.0.0" 1063 | 1064 | is-descriptor@^0.1.0: 1065 | version "0.1.6" 1066 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1067 | integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== 1068 | dependencies: 1069 | is-accessor-descriptor "^0.1.6" 1070 | is-data-descriptor "^0.1.4" 1071 | kind-of "^5.0.0" 1072 | 1073 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 1074 | version "1.0.2" 1075 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 1076 | integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== 1077 | dependencies: 1078 | is-accessor-descriptor "^1.0.0" 1079 | is-data-descriptor "^1.0.0" 1080 | kind-of "^6.0.2" 1081 | 1082 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1083 | version "0.1.1" 1084 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1085 | integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= 1086 | 1087 | is-extendable@^1.0.1: 1088 | version "1.0.1" 1089 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1090 | integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== 1091 | dependencies: 1092 | is-plain-object "^2.0.4" 1093 | 1094 | is-number@^3.0.0: 1095 | version "3.0.0" 1096 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1097 | integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= 1098 | dependencies: 1099 | kind-of "^3.0.2" 1100 | 1101 | is-plain-obj@^1.0.0: 1102 | version "1.1.0" 1103 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 1104 | 1105 | is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1106 | version "2.0.4" 1107 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1108 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 1109 | dependencies: 1110 | isobject "^3.0.1" 1111 | 1112 | is-windows@^1.0.2: 1113 | version "1.0.2" 1114 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1115 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 1116 | 1117 | isarray@1.0.0: 1118 | version "1.0.0" 1119 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1120 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 1121 | 1122 | isobject@^2.0.0: 1123 | version "2.1.0" 1124 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1125 | integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= 1126 | dependencies: 1127 | isarray "1.0.0" 1128 | 1129 | isobject@^3.0.0, isobject@^3.0.1: 1130 | version "3.0.1" 1131 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1132 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 1133 | 1134 | js-levenshtein@^1.1.3: 1135 | version "1.1.6" 1136 | resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" 1137 | 1138 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1139 | version "4.0.0" 1140 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1141 | 1142 | jsesc@^2.5.1: 1143 | version "2.5.2" 1144 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1145 | 1146 | jsesc@~0.5.0: 1147 | version "0.5.0" 1148 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1149 | 1150 | json5@^2.1.0: 1151 | version "2.2.3" 1152 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 1153 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 1154 | 1155 | jsonfile@^4.0.0: 1156 | version "4.0.0" 1157 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 1158 | optionalDependencies: 1159 | graceful-fs "^4.1.6" 1160 | 1161 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 1162 | version "3.2.2" 1163 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1164 | integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= 1165 | dependencies: 1166 | is-buffer "^1.1.5" 1167 | 1168 | kind-of@^4.0.0: 1169 | version "4.0.0" 1170 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1171 | integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= 1172 | dependencies: 1173 | is-buffer "^1.1.5" 1174 | 1175 | kind-of@^5.0.0: 1176 | version "5.1.0" 1177 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 1178 | integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== 1179 | 1180 | kind-of@^6.0.0, kind-of@^6.0.2: 1181 | version "6.0.3" 1182 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 1183 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 1184 | 1185 | lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14: 1186 | version "4.17.21" 1187 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1188 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1189 | 1190 | loose-envify@^1.0.0: 1191 | version "1.4.0" 1192 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1193 | dependencies: 1194 | js-tokens "^3.0.0 || ^4.0.0" 1195 | 1196 | map-cache@^0.2.2: 1197 | version "0.2.2" 1198 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 1199 | integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= 1200 | 1201 | map-visit@^1.0.0: 1202 | version "1.0.0" 1203 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 1204 | integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= 1205 | dependencies: 1206 | object-visit "^1.0.0" 1207 | 1208 | micromatch@^3.1.10: 1209 | version "3.1.10" 1210 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 1211 | integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== 1212 | dependencies: 1213 | arr-diff "^4.0.0" 1214 | array-unique "^0.3.2" 1215 | braces "^2.3.1" 1216 | define-property "^2.0.2" 1217 | extend-shallow "^3.0.2" 1218 | extglob "^2.0.4" 1219 | fragment-cache "^0.2.1" 1220 | kind-of "^6.0.2" 1221 | nanomatch "^1.2.9" 1222 | object.pick "^1.3.0" 1223 | regex-not "^1.0.0" 1224 | snapdragon "^0.8.1" 1225 | to-regex "^3.0.2" 1226 | 1227 | minimatch@^3.0.4: 1228 | version "3.1.2" 1229 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1230 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1231 | dependencies: 1232 | brace-expansion "^1.1.7" 1233 | 1234 | mixin-deep@^1.2.0: 1235 | version "1.3.2" 1236 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" 1237 | integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== 1238 | dependencies: 1239 | for-in "^1.0.2" 1240 | is-extendable "^1.0.1" 1241 | 1242 | ms@2.0.0: 1243 | version "2.0.0" 1244 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1245 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1246 | 1247 | ms@^2.1.1: 1248 | version "2.1.1" 1249 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 1250 | 1251 | nanomatch@^1.2.9: 1252 | version "1.2.13" 1253 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 1254 | integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== 1255 | dependencies: 1256 | arr-diff "^4.0.0" 1257 | array-unique "^0.3.2" 1258 | define-property "^2.0.2" 1259 | extend-shallow "^3.0.2" 1260 | fragment-cache "^0.2.1" 1261 | is-windows "^1.0.2" 1262 | kind-of "^6.0.2" 1263 | object.pick "^1.3.0" 1264 | regex-not "^1.0.0" 1265 | snapdragon "^0.8.1" 1266 | to-regex "^3.0.1" 1267 | 1268 | node-releases@^1.1.71: 1269 | version "1.1.72" 1270 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" 1271 | integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== 1272 | 1273 | normalize-url@^1.0.0: 1274 | version "1.9.1" 1275 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" 1276 | dependencies: 1277 | object-assign "^4.0.1" 1278 | prepend-http "^1.0.0" 1279 | query-string "^4.1.0" 1280 | sort-keys "^1.0.0" 1281 | 1282 | object-assign@^4.0.1, object-assign@^4.1.0: 1283 | version "4.1.1" 1284 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1285 | 1286 | object-copy@^0.1.0: 1287 | version "0.1.0" 1288 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 1289 | integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= 1290 | dependencies: 1291 | copy-descriptor "^0.1.0" 1292 | define-property "^0.2.5" 1293 | kind-of "^3.0.3" 1294 | 1295 | object-visit@^1.0.0: 1296 | version "1.0.1" 1297 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 1298 | integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= 1299 | dependencies: 1300 | isobject "^3.0.0" 1301 | 1302 | object.pick@^1.3.0: 1303 | version "1.3.0" 1304 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 1305 | integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= 1306 | dependencies: 1307 | isobject "^3.0.1" 1308 | 1309 | once@^1.3.0: 1310 | version "1.4.0" 1311 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1312 | dependencies: 1313 | wrappy "1" 1314 | 1315 | pascalcase@^0.1.1: 1316 | version "0.1.1" 1317 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 1318 | integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= 1319 | 1320 | path-is-absolute@^1.0.0: 1321 | version "1.0.1" 1322 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1323 | 1324 | path-parse@^1.0.6: 1325 | version "1.0.7" 1326 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1327 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1328 | 1329 | pify@^2.0.0: 1330 | version "2.3.0" 1331 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 1332 | 1333 | pinkie-promise@^2.0.0: 1334 | version "2.0.1" 1335 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1336 | dependencies: 1337 | pinkie "^2.0.0" 1338 | 1339 | pinkie@^2.0.0: 1340 | version "2.0.4" 1341 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1342 | 1343 | posix-character-classes@^0.1.0: 1344 | version "0.1.1" 1345 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 1346 | integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= 1347 | 1348 | prepend-http@^1.0.0: 1349 | version "1.0.4" 1350 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" 1351 | 1352 | private@^0.1.6: 1353 | version "0.1.8" 1354 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 1355 | 1356 | query-string@^4.1.0: 1357 | version "4.3.4" 1358 | resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" 1359 | dependencies: 1360 | object-assign "^4.1.0" 1361 | strict-uri-encode "^1.0.0" 1362 | 1363 | regenerate-unicode-properties@^8.0.2: 1364 | version "8.0.2" 1365 | resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz#7b38faa296252376d363558cfbda90c9ce709662" 1366 | dependencies: 1367 | regenerate "^1.4.0" 1368 | 1369 | regenerate@^1.4.0: 1370 | version "1.4.0" 1371 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 1372 | 1373 | regenerator-transform@^0.13.4: 1374 | version "0.13.4" 1375 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.4.tgz#18f6763cf1382c69c36df76c6ce122cc694284fb" 1376 | dependencies: 1377 | private "^0.1.6" 1378 | 1379 | regex-not@^1.0.0, regex-not@^1.0.2: 1380 | version "1.0.2" 1381 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 1382 | integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== 1383 | dependencies: 1384 | extend-shallow "^3.0.2" 1385 | safe-regex "^1.1.0" 1386 | 1387 | regexp-tree@^0.1.0: 1388 | version "0.1.5" 1389 | resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.5.tgz#7cd71fca17198d04b4176efd79713f2998009397" 1390 | 1391 | regexpu-core@^4.1.3, regexpu-core@^4.5.4: 1392 | version "4.5.4" 1393 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" 1394 | dependencies: 1395 | regenerate "^1.4.0" 1396 | regenerate-unicode-properties "^8.0.2" 1397 | regjsgen "^0.5.0" 1398 | regjsparser "^0.6.0" 1399 | unicode-match-property-ecmascript "^1.0.4" 1400 | unicode-match-property-value-ecmascript "^1.1.0" 1401 | 1402 | regjsgen@^0.5.0: 1403 | version "0.5.0" 1404 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" 1405 | 1406 | regjsparser@^0.6.0: 1407 | version "0.6.0" 1408 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" 1409 | dependencies: 1410 | jsesc "~0.5.0" 1411 | 1412 | repeat-element@^1.1.2: 1413 | version "1.1.3" 1414 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" 1415 | integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== 1416 | 1417 | repeat-string@^1.6.1: 1418 | version "1.6.1" 1419 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 1420 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= 1421 | 1422 | resolve-url@^0.2.1: 1423 | version "0.2.1" 1424 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 1425 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 1426 | 1427 | resolve@^1.3.2: 1428 | version "1.10.0" 1429 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" 1430 | dependencies: 1431 | path-parse "^1.0.6" 1432 | 1433 | ret@~0.1.10: 1434 | version "0.1.15" 1435 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 1436 | integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== 1437 | 1438 | rimraf@^2.6.2: 1439 | version "2.6.3" 1440 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 1441 | dependencies: 1442 | glob "^7.1.3" 1443 | 1444 | rollup-plugin-babel@^4.3.2: 1445 | version "4.4.0" 1446 | resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb" 1447 | integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw== 1448 | dependencies: 1449 | "@babel/helper-module-imports" "^7.0.0" 1450 | rollup-pluginutils "^2.8.1" 1451 | 1452 | rollup-plugin-json@^4.0.0: 1453 | version "4.0.0" 1454 | resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-4.0.0.tgz#a18da0a4b30bf5ca1ee76ddb1422afbb84ae2b9e" 1455 | dependencies: 1456 | rollup-pluginutils "^2.5.0" 1457 | 1458 | rollup-pluginutils@^2.5.0: 1459 | version "2.6.0" 1460 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.6.0.tgz#203706edd43dfafeaebc355d7351119402fc83ad" 1461 | dependencies: 1462 | estree-walker "^0.6.0" 1463 | micromatch "^3.1.10" 1464 | 1465 | rollup-pluginutils@^2.8.1: 1466 | version "2.8.2" 1467 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" 1468 | integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 1469 | dependencies: 1470 | estree-walker "^0.6.1" 1471 | 1472 | rollup@^1.7.4: 1473 | version "1.7.4" 1474 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.7.4.tgz#dd9d1d4935d3db38f16e1caaef635d8d1b0831c4" 1475 | dependencies: 1476 | "@types/estree" "0.0.39" 1477 | "@types/node" "^11.11.6" 1478 | acorn "^6.1.1" 1479 | 1480 | safe-buffer@~5.1.1: 1481 | version "5.1.2" 1482 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1483 | 1484 | safe-regex@^1.1.0: 1485 | version "1.1.0" 1486 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 1487 | integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= 1488 | dependencies: 1489 | ret "~0.1.10" 1490 | 1491 | semver@^5.3.0, semver@^5.4.1, semver@^5.6.0: 1492 | version "5.7.0" 1493 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" 1494 | 1495 | set-value@^2.0.0, set-value@^2.0.1: 1496 | version "2.0.1" 1497 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" 1498 | integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== 1499 | dependencies: 1500 | extend-shallow "^2.0.1" 1501 | is-extendable "^0.1.1" 1502 | is-plain-object "^2.0.3" 1503 | split-string "^3.0.1" 1504 | 1505 | snapdragon-node@^2.0.1: 1506 | version "2.1.1" 1507 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 1508 | integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== 1509 | dependencies: 1510 | define-property "^1.0.0" 1511 | isobject "^3.0.0" 1512 | snapdragon-util "^3.0.1" 1513 | 1514 | snapdragon-util@^3.0.1: 1515 | version "3.0.1" 1516 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 1517 | integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== 1518 | dependencies: 1519 | kind-of "^3.2.0" 1520 | 1521 | snapdragon@^0.8.1: 1522 | version "0.8.2" 1523 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 1524 | integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== 1525 | dependencies: 1526 | base "^0.11.1" 1527 | debug "^2.2.0" 1528 | define-property "^0.2.5" 1529 | extend-shallow "^2.0.1" 1530 | map-cache "^0.2.2" 1531 | source-map "^0.5.6" 1532 | source-map-resolve "^0.5.0" 1533 | use "^3.1.0" 1534 | 1535 | sort-keys@^1.0.0: 1536 | version "1.1.2" 1537 | resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" 1538 | dependencies: 1539 | is-plain-obj "^1.0.0" 1540 | 1541 | source-map-resolve@^0.5.0: 1542 | version "0.5.3" 1543 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" 1544 | integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== 1545 | dependencies: 1546 | atob "^2.1.2" 1547 | decode-uri-component "^0.2.0" 1548 | resolve-url "^0.2.1" 1549 | source-map-url "^0.4.0" 1550 | urix "^0.1.0" 1551 | 1552 | source-map-url@^0.4.0: 1553 | version "0.4.0" 1554 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 1555 | integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= 1556 | 1557 | source-map@^0.5.0, source-map@^0.5.6: 1558 | version "0.5.7" 1559 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1560 | 1561 | split-string@^3.0.1, split-string@^3.0.2: 1562 | version "3.1.0" 1563 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 1564 | integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== 1565 | dependencies: 1566 | extend-shallow "^3.0.0" 1567 | 1568 | static-extend@^0.1.1: 1569 | version "0.1.2" 1570 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 1571 | integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= 1572 | dependencies: 1573 | define-property "^0.2.5" 1574 | object-copy "^0.1.0" 1575 | 1576 | strict-uri-encode@^1.0.0: 1577 | version "1.1.0" 1578 | resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" 1579 | 1580 | strip-outer@^1.0.0: 1581 | version "1.0.1" 1582 | resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" 1583 | dependencies: 1584 | escape-string-regexp "^1.0.2" 1585 | 1586 | strip-url-auth@^1.0.0: 1587 | version "1.0.1" 1588 | resolved "https://registry.yarnpkg.com/strip-url-auth/-/strip-url-auth-1.0.1.tgz#22b0fa3a41385b33be3f331551bbb837fa0cd7ae" 1589 | 1590 | supports-color@^5.3.0: 1591 | version "5.5.0" 1592 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1593 | dependencies: 1594 | has-flag "^3.0.0" 1595 | 1596 | to-fast-properties@^2.0.0: 1597 | version "2.0.0" 1598 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1599 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1600 | 1601 | to-object-path@^0.3.0: 1602 | version "0.3.0" 1603 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 1604 | integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= 1605 | dependencies: 1606 | kind-of "^3.0.2" 1607 | 1608 | to-regex-range@^2.1.0: 1609 | version "2.1.1" 1610 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 1611 | integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= 1612 | dependencies: 1613 | is-number "^3.0.0" 1614 | repeat-string "^1.6.1" 1615 | 1616 | to-regex@^3.0.1, to-regex@^3.0.2: 1617 | version "3.0.2" 1618 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 1619 | integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== 1620 | dependencies: 1621 | define-property "^2.0.2" 1622 | extend-shallow "^3.0.2" 1623 | regex-not "^1.0.2" 1624 | safe-regex "^1.1.0" 1625 | 1626 | trim-repeated@^1.0.0: 1627 | version "1.0.0" 1628 | resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" 1629 | dependencies: 1630 | escape-string-regexp "^1.0.2" 1631 | 1632 | trim-right@^1.0.1: 1633 | version "1.0.1" 1634 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 1635 | 1636 | unicode-canonical-property-names-ecmascript@^1.0.4: 1637 | version "1.0.4" 1638 | resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" 1639 | 1640 | unicode-match-property-ecmascript@^1.0.4: 1641 | version "1.0.4" 1642 | resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" 1643 | dependencies: 1644 | unicode-canonical-property-names-ecmascript "^1.0.4" 1645 | unicode-property-aliases-ecmascript "^1.0.4" 1646 | 1647 | unicode-match-property-value-ecmascript@^1.1.0: 1648 | version "1.1.0" 1649 | resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" 1650 | 1651 | unicode-property-aliases-ecmascript@^1.0.4: 1652 | version "1.0.5" 1653 | resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" 1654 | 1655 | union-value@^1.0.0: 1656 | version "1.0.1" 1657 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" 1658 | integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== 1659 | dependencies: 1660 | arr-union "^3.1.0" 1661 | get-value "^2.0.6" 1662 | is-extendable "^0.1.1" 1663 | set-value "^2.0.1" 1664 | 1665 | universalify@^0.1.0: 1666 | version "0.1.2" 1667 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 1668 | 1669 | unset-value@^1.0.0: 1670 | version "1.0.0" 1671 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 1672 | integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= 1673 | dependencies: 1674 | has-value "^0.3.1" 1675 | isobject "^3.0.0" 1676 | 1677 | urix@^0.1.0: 1678 | version "0.1.0" 1679 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 1680 | integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 1681 | 1682 | use@^3.1.0: 1683 | version "3.1.1" 1684 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 1685 | integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== 1686 | 1687 | wrappy@1: 1688 | version "1.0.2" 1689 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1690 | --------------------------------------------------------------------------------