diff --git a/js/.babelrc b/js/.babelrc index dcdafd8ff..2be269296 100644 --- a/js/.babelrc +++ b/js/.babelrc @@ -1,9 +1,10 @@ -{ "presets": [ - [ +{ + "presets": [[ "@babel/preset-env", { "useBuiltIns": "usage", "corejs": 3 } - ] -]} + ]], + "plugins": ["@babel/plugin-syntax-dynamic-import"] +} diff --git a/js/package-lock.json b/js/package-lock.json index c43a1575b..6e0ef5120 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -386,6 +386,15 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", @@ -1084,6 +1093,209 @@ } } }, + "@jupyterlab/application-extension": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application-extension/-/application-extension-1.0.2.tgz", + "integrity": "sha512-Q+aT0URJuGuCkO14MyqfWj4Euicehc1vpvjW38HntPVR0LS7hDoI+Jkr6t4j1UGTQP8PUi4/kCapC4vEvqKJ7w==", + "requires": { + "@jupyterlab/application": "^1.0.2", + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4" + }, + "dependencies": { + "@jupyterlab/application": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.0.2.tgz", + "integrity": "sha512-B0cpY7eLN4e6t6n1ktejfUYb4c1wsizSEhORrLvQ/EiKBG5t++I87SKwxOFyZE2e6QVZoUDkGDM+n4xTX6tFRg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/application": "^1.6.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "font-awesome": "~4.7.0" + } + }, + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + } + } + }, "@jupyterlab/apputils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.0.tgz", @@ -1217,6 +1429,227 @@ } } }, + "@jupyterlab/apputils-extension": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils-extension/-/apputils-extension-1.0.2.tgz", + "integrity": "sha512-CQvb1ef4n6S9VY72YUoTycCMgrC5LEi9PLQqWIeZkiB6o+RxpUnJhUwzPrfmiX8J/cwmwfVq/uxE8+hRnMTO3g==", + "requires": { + "@jupyterlab/application": "^1.0.2", + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/mainmenu": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/widgets": "^1.8.0", + "es6-promise": "~4.2.6" + }, + "dependencies": { + "@jupyterlab/application": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.0.2.tgz", + "integrity": "sha512-B0cpY7eLN4e6t6n1ktejfUYb4c1wsizSEhORrLvQ/EiKBG5t++I87SKwxOFyZE2e6QVZoUDkGDM+n4xTX6tFRg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/application": "^1.6.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "font-awesome": "~4.7.0" + } + }, + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/mainmenu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/mainmenu/-/mainmenu-1.0.2.tgz", + "integrity": "sha512-jI3s4SP4ZWy0eFILyM+hThYD5OzB45U3iaWv5HJRJWcOPDu+nbtWY6ms0IVMdJ0dq/blfZXwNVoCFzcIJ8joag==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + } + } + }, "@jupyterlab/attachments": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@jupyterlab/attachments/-/attachments-1.0.0.tgz", @@ -1639,42 +2072,263 @@ } } }, - "@jupyterlab/coreutils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.0.0.tgz", - "integrity": "sha512-l48G1qhff4CZpsxjje92S6caLUixzfDMAD5vjNZL9obexUAMF+344cpVWsm2r2CQROUW7bPB8wjAtFbp8nK/QQ==", + "@jupyterlab/codemirror-extension": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror-extension/-/codemirror-extension-1.0.2.tgz", + "integrity": "sha512-dru/xli3GTvxp4qL78DNyeE48osBzEvqekxWIcAkejZ8IOVSIcnNEl5CQQzh9NwFfPQPfidiJiTrA3ZqxFziqw==", "requires": { - "@phosphor/commands": "^1.6.3", - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", - "@phosphor/properties": "^1.1.3", - "@phosphor/signaling": "^1.2.3", - "ajv": "^6.5.5", - "json5": "^2.1.0", - "minimist": "~1.2.0", - "moment": "^2.24.0", - "path-posix": "~1.0.0", - "url-parse": "~1.4.3" + "@jupyterlab/application": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/fileeditor": "^1.0.2", + "@jupyterlab/mainmenu": "^1.0.2", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0" }, "dependencies": { - "@phosphor/algorithm": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", - "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" - }, - "@phosphor/commands": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.6.3.tgz", - "integrity": "sha512-PYNHWv6tbXAfAtKiqXuT0OBJvwbJ+RRTV60MBykMF7Vqz9UaZ9n2e/eB2EAGEFccF0PnjTCvBEZgarwwMVi8Hg==", - "requires": { + "@jupyterlab/application": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.0.2.tgz", + "integrity": "sha512-B0cpY7eLN4e6t6n1ktejfUYb4c1wsizSEhORrLvQ/EiKBG5t++I87SKwxOFyZE2e6QVZoUDkGDM+n4xTX6tFRg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", "@phosphor/algorithm": "^1.1.3", + "@phosphor/application": "^1.6.3", + "@phosphor/commands": "^1.6.3", "@phosphor/coreutils": "^1.3.1", "@phosphor/disposable": "^1.2.0", - "@phosphor/domutils": "^1.1.3", - "@phosphor/keyboard": "^1.1.3", - "@phosphor/signaling": "^1.2.3" - } - }, + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "font-awesome": "~4.7.0" + } + }, + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/mainmenu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/mainmenu/-/mainmenu-1.0.2.tgz", + "integrity": "sha512-jI3s4SP4ZWy0eFILyM+hThYD5OzB45U3iaWv5HJRJWcOPDu+nbtWY6ms0IVMdJ0dq/blfZXwNVoCFzcIJ8joag==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + } + } + }, + "@jupyterlab/coreutils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.0.0.tgz", + "integrity": "sha512-l48G1qhff4CZpsxjje92S6caLUixzfDMAD5vjNZL9obexUAMF+344cpVWsm2r2CQROUW7bPB8wjAtFbp8nK/QQ==", + "requires": { + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", + "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" + }, + "@phosphor/commands": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.6.3.tgz", + "integrity": "sha512-PYNHWv6tbXAfAtKiqXuT0OBJvwbJ+RRTV60MBykMF7Vqz9UaZ9n2e/eB2EAGEFccF0PnjTCvBEZgarwwMVi8Hg==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/signaling": "^1.2.3" + } + }, "@phosphor/coreutils": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", @@ -1730,6 +2384,193 @@ } } }, + "@jupyterlab/docmanager": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docmanager/-/docmanager-1.0.2.tgz", + "integrity": "sha512-Nc4v7Xn7eUjJpU0Vw/ezvGyKkvbXuEfL1go7QW9UFX4HfcEfelXIaT69EzoTYW6mVCZp2Z1UTYXM9YnaMHkQMg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4" + }, + "dependencies": { + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + } + } + }, "@jupyterlab/docregistry": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.0.tgz", @@ -1860,44 +2701,151 @@ } } }, - "@jupyterlab/mainmenu": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/mainmenu/-/mainmenu-1.0.0.tgz", - "integrity": "sha512-aQEdTQhq7ThFDs1kYOnyKKTYe89MihWlc4l+7LueDAb1rdGfB9IwfVi/WRAFIF0ys6LMzXBdlc02Q7ujbT3A4A==", + "@jupyterlab/fileeditor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/fileeditor/-/fileeditor-1.0.2.tgz", + "integrity": "sha512-6E+hQtepS61ePH9kDZS8UvGSjcXcVCOdNVbcTMb0M0fAKqjaeIe84H27TkZ9WzIawO+G8FfuuD/DYHRUz5OEgQ==", "requires": { - "@jupyterlab/apputils": "^1.0.0", - "@jupyterlab/services": "^4.0.0", - "@phosphor/algorithm": "^1.1.3", - "@phosphor/commands": "^1.6.3", + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/statusbar": "^1.0.2", "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", - "@phosphor/widgets": "^1.8.0" + "@phosphor/messaging": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4" }, "dependencies": { - "@phosphor/algorithm": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", - "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" - }, - "@phosphor/collections": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.1.3.tgz", - "integrity": "sha512-J2U1xd2e5LtqoOJt4kynrjDNeHhVpJjuY2/zA0InS5kyOuWmvy79pt/KJ22n0LBNcU/fjkImqtQmbrC2Z4q2xQ==", + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", "requires": { - "@phosphor/algorithm": "^1.1.3" + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" } }, - "@phosphor/commands": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.6.3.tgz", - "integrity": "sha512-PYNHWv6tbXAfAtKiqXuT0OBJvwbJ+RRTV60MBykMF7Vqz9UaZ9n2e/eB2EAGEFccF0PnjTCvBEZgarwwMVi8Hg==", + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", "@phosphor/algorithm": "^1.1.3", "@phosphor/coreutils": "^1.3.1", "@phosphor/disposable": "^1.2.0", - "@phosphor/domutils": "^1.1.3", - "@phosphor/keyboard": "^1.1.3", - "@phosphor/signaling": "^1.2.3" + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" } }, "@phosphor/coreutils": { @@ -1906,12 +2854,12 @@ "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" }, "@phosphor/disposable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", - "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/signaling": "^1.2.3" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" } }, "@phosphor/domutils": { @@ -1919,95 +2867,34 @@ "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" }, - "@phosphor/dragdrop": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@phosphor/dragdrop/-/dragdrop-1.3.3.tgz", - "integrity": "sha512-+SrlGsVQwY8OHCWxE/Zvihpk6Rc6bytJDqOUUTZqdL8hvM9QZeopAFioPDxuo1pTj87Um6cR4ekvbTU4KZ/90w==", - "requires": { - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0" - } - }, - "@phosphor/keyboard": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz", - "integrity": "sha512-dzxC/PyHiD6mXaESRy6PZTd9JeK+diwG1pyngkyUf127IXOEzubTIbu52VSdpGBklszu33ws05BAGDa4oBE4mQ==" - }, "@phosphor/messaging": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.2.3.tgz", - "integrity": "sha512-89Ps4uSRNOEQoepB/0SDoyPpNUWd6VZnmbMetmeXZJHsuJ1GLxtnq3WBdl7UCVNsw3W9NC610pWaDCy/BafRlg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/collections": "^1.1.3" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" } }, "@phosphor/properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" - }, - "@phosphor/signaling": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", - "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", - "requires": { - "@phosphor/algorithm": "^1.1.3" - } - }, - "@phosphor/virtualdom": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/virtualdom/-/virtualdom-1.1.3.tgz", - "integrity": "sha512-V8PHhhnZCRa5esrC4q5VthqlLtxTo9ZV1mZ6b4YEloapca1S1nggZSQhrSlltXQjtYNUaWJZUZ/BlFD8wFtIEQ==", - "requires": { - "@phosphor/algorithm": "^1.1.3" - } - }, - "@phosphor/widgets": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@phosphor/widgets/-/widgets-1.8.1.tgz", - "integrity": "sha512-OY5T0nAioYTitPks/lCHm7a6QpjRB/XviIT2j6WtYm5J1U8MluIPpClqZ/NQbZfm23BYpmJeiQQyZA+5YphsDA==", - "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/commands": "^1.6.3", - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", - "@phosphor/domutils": "^1.1.3", - "@phosphor/dragdrop": "^1.3.3", - "@phosphor/keyboard": "^1.1.3", - "@phosphor/messaging": "^1.2.3", - "@phosphor/properties": "^1.1.3", - "@phosphor/signaling": "^1.2.3", - "@phosphor/virtualdom": "^1.1.3" - } } } }, - "@jupyterlab/notebook": { + "@jupyterlab/mainmenu": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/notebook/-/notebook-1.0.0.tgz", - "integrity": "sha512-3R1FVbvfNG7ADAWweUGs28kN43QM31ENIHmX7g2CdQq9r0xKgFcS5K1630Ot69Aok+I4jej5KJ2OIxMBUcuK2A==", + "resolved": "https://registry.npmjs.org/@jupyterlab/mainmenu/-/mainmenu-1.0.0.tgz", + "integrity": "sha512-aQEdTQhq7ThFDs1kYOnyKKTYe89MihWlc4l+7LueDAb1rdGfB9IwfVi/WRAFIF0ys6LMzXBdlc02Q7ujbT3A4A==", "requires": { "@jupyterlab/apputils": "^1.0.0", - "@jupyterlab/cells": "^1.0.0", - "@jupyterlab/codeeditor": "^1.0.0", - "@jupyterlab/coreutils": "^3.0.0", - "@jupyterlab/docregistry": "^1.0.0", - "@jupyterlab/observables": "^2.2.0", - "@jupyterlab/rendermime": "^1.0.0", "@jupyterlab/services": "^4.0.0", - "@jupyterlab/statusbar": "^1.0.0", - "@jupyterlab/ui-components": "^1.0.0", "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", "@phosphor/coreutils": "^1.3.1", - "@phosphor/domutils": "^1.1.3", - "@phosphor/dragdrop": "^1.3.3", - "@phosphor/messaging": "^1.2.3", - "@phosphor/properties": "^1.1.3", - "@phosphor/signaling": "^1.2.3", - "@phosphor/virtualdom": "^1.1.3", - "@phosphor/widgets": "^1.8.0", - "react": "~16.8.4" + "@phosphor/disposable": "^1.2.0", + "@phosphor/widgets": "^1.8.0" }, "dependencies": { "@phosphor/algorithm": { @@ -2119,29 +3006,150 @@ } } }, - "@jupyterlab/observables": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/observables/-/observables-2.2.0.tgz", - "integrity": "sha512-/oi7vl70yAX5QTXmZafyDSwU8fT1Oa/MdpDDYGkc5IklW0kU3NDqSoawfLovkdgGZvCOCM+6JQqUPRdhn8VZqg==", + "@jupyterlab/markdownviewer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/markdownviewer/-/markdownviewer-1.0.2.tgz", + "integrity": "sha512-wDEEdcYBk3l8FtbgN2YymAmCCRHtR1DjDzYZOs3LtrUDiYlEOQaMogmtT0J4ZgMlK2I2mmPbv0kf1fFCeMfmCg==", "requires": { - "@phosphor/algorithm": "^1.1.3", + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", "@phosphor/messaging": "^1.2.3", - "@phosphor/signaling": "^1.2.3" + "@phosphor/widgets": "^1.8.0" }, "dependencies": { + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, "@phosphor/algorithm": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", - "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" }, "@phosphor/collections": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.1.3.tgz", - "integrity": "sha512-J2U1xd2e5LtqoOJt4kynrjDNeHhVpJjuY2/zA0InS5kyOuWmvy79pt/KJ22n0LBNcU/fjkImqtQmbrC2Z4q2xQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", "requires": { - "@phosphor/algorithm": "^1.1.3" + "@phosphor/algorithm": "^1.2.0" } }, "@phosphor/coreutils": { @@ -2150,76 +3158,200 @@ "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" }, "@phosphor/disposable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", - "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/signaling": "^1.2.3" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" } }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, "@phosphor/messaging": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.2.3.tgz", - "integrity": "sha512-89Ps4uSRNOEQoepB/0SDoyPpNUWd6VZnmbMetmeXZJHsuJ1GLxtnq3WBdl7UCVNsw3W9NC610pWaDCy/BafRlg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/collections": "^1.1.3" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" } }, - "@phosphor/signaling": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", - "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", - "requires": { - "@phosphor/algorithm": "^1.1.3" - } + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" } } }, - "@jupyterlab/outputarea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/outputarea/-/outputarea-1.0.0.tgz", - "integrity": "sha512-9RGsQAdxKf5xyvDsp1pB6VDoDzvB0JK+s5qFYK54lbK/p8EAvjNe2SsXzEHBH9wCnARFeHC0LssyyoX2ct7ujw==", + "@jupyterlab/markdownviewer-extension": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/markdownviewer-extension/-/markdownviewer-extension-1.0.2.tgz", + "integrity": "sha512-5hLR1xqgfe1I+/R5AjiWmQ4rSA7MOFKH6B6BdzjneSTY2U6EWTC2YH9HpTw7Wrd/4ZJdsPdGNkza/LFOSVwqPw==", "requires": { - "@jupyterlab/apputils": "^1.0.0", + "@jupyterlab/application": "^1.0.2", + "@jupyterlab/apputils": "^1.0.2", "@jupyterlab/coreutils": "^3.0.0", - "@jupyterlab/observables": "^2.2.0", - "@jupyterlab/rendermime": "^1.0.0", - "@jupyterlab/rendermime-interfaces": "^1.3.0", - "@jupyterlab/services": "^4.0.0", - "@phosphor/algorithm": "^1.1.3", - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", - "@phosphor/messaging": "^1.2.3", - "@phosphor/signaling": "^1.2.3", - "@phosphor/widgets": "^1.8.0" + "@jupyterlab/markdownviewer": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2" }, "dependencies": { - "@phosphor/algorithm": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", - "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" - }, - "@phosphor/collections": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.1.3.tgz", - "integrity": "sha512-J2U1xd2e5LtqoOJt4kynrjDNeHhVpJjuY2/zA0InS5kyOuWmvy79pt/KJ22n0LBNcU/fjkImqtQmbrC2Z4q2xQ==", - "requires": { - "@phosphor/algorithm": "^1.1.3" + "@jupyterlab/application": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.0.2.tgz", + "integrity": "sha512-B0cpY7eLN4e6t6n1ktejfUYb4c1wsizSEhORrLvQ/EiKBG5t++I87SKwxOFyZE2e6QVZoUDkGDM+n4xTX6tFRg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/application": "^1.6.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "font-awesome": "~4.7.0" } }, - "@phosphor/commands": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.6.3.tgz", - "integrity": "sha512-PYNHWv6tbXAfAtKiqXuT0OBJvwbJ+RRTV60MBykMF7Vqz9UaZ9n2e/eB2EAGEFccF0PnjTCvBEZgarwwMVi8Hg==", + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", "@phosphor/coreutils": "^1.3.1", "@phosphor/disposable": "^1.2.0", "@phosphor/domutils": "^1.1.3", - "@phosphor/keyboard": "^1.1.3", - "@phosphor/signaling": "^1.2.3" + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" } }, "@phosphor/coreutils": { @@ -2228,12 +3360,12 @@ "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" }, "@phosphor/disposable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", - "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/signaling": "^1.2.3" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" } }, "@phosphor/domutils": { @@ -2241,88 +3373,264 @@ "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" }, - "@phosphor/dragdrop": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@phosphor/dragdrop/-/dragdrop-1.3.3.tgz", - "integrity": "sha512-+SrlGsVQwY8OHCWxE/Zvihpk6Rc6bytJDqOUUTZqdL8hvM9QZeopAFioPDxuo1pTj87Um6cR4ekvbTU4KZ/90w==", - "requires": { - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0" - } - }, - "@phosphor/keyboard": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz", - "integrity": "sha512-dzxC/PyHiD6mXaESRy6PZTd9JeK+diwG1pyngkyUf127IXOEzubTIbu52VSdpGBklszu33ws05BAGDa4oBE4mQ==" - }, "@phosphor/messaging": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.2.3.tgz", - "integrity": "sha512-89Ps4uSRNOEQoepB/0SDoyPpNUWd6VZnmbMetmeXZJHsuJ1GLxtnq3WBdl7UCVNsw3W9NC610pWaDCy/BafRlg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/collections": "^1.1.3" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" } }, "@phosphor/properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + } + } + }, + "@jupyterlab/mathjax2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/mathjax2/-/mathjax2-1.0.0.tgz", + "integrity": "sha512-1Er/K8v34+aL7f6moVomGIz6eUo/Cj80ijysbqYLiXW1yNK9zle8nzgYL3cx0JTvm7d1fcTqOnZiru/OVt66/g==", + "requires": { + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@phosphor/coreutils": "^1.3.1" + }, + "dependencies": { + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + } + } + }, + "@jupyterlab/mathjax2-extension": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/mathjax2-extension/-/mathjax2-extension-1.0.2.tgz", + "integrity": "sha512-R8gTunmtKKXEElfgTmLCEMCJmnV8LllCLNu9V+LrTpuz0XGk5TOiPs9cTY+9JeaVtNJkvzda1UJ4xGY3yrOLhQ==", + "requires": { + "@jupyterlab/application": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/mathjax2": "^1.0.0", + "@jupyterlab/rendermime": "^1.0.2" + }, + "dependencies": { + "@jupyterlab/application": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.0.2.tgz", + "integrity": "sha512-B0cpY7eLN4e6t6n1ktejfUYb4c1wsizSEhORrLvQ/EiKBG5t++I87SKwxOFyZE2e6QVZoUDkGDM+n4xTX6tFRg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/application": "^1.6.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "font-awesome": "~4.7.0" + } }, - "@phosphor/signaling": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", - "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", "requires": { - "@phosphor/algorithm": "^1.1.3" + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" } }, - "@phosphor/virtualdom": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/virtualdom/-/virtualdom-1.1.3.tgz", - "integrity": "sha512-V8PHhhnZCRa5esrC4q5VthqlLtxTo9ZV1mZ6b4YEloapca1S1nggZSQhrSlltXQjtYNUaWJZUZ/BlFD8wFtIEQ==", + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", "requires": { - "@phosphor/algorithm": "^1.1.3" + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" } }, - "@phosphor/widgets": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@phosphor/widgets/-/widgets-1.8.1.tgz", - "integrity": "sha512-OY5T0nAioYTitPks/lCHm7a6QpjRB/XviIT2j6WtYm5J1U8MluIPpClqZ/NQbZfm23BYpmJeiQQyZA+5YphsDA==", + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", "@phosphor/algorithm": "^1.1.3", - "@phosphor/commands": "^1.6.3", "@phosphor/coreutils": "^1.3.1", "@phosphor/disposable": "^1.2.0", - "@phosphor/domutils": "^1.1.3", - "@phosphor/dragdrop": "^1.3.3", - "@phosphor/keyboard": "^1.1.3", "@phosphor/messaging": "^1.2.3", - "@phosphor/properties": "^1.1.3", "@phosphor/signaling": "^1.2.3", - "@phosphor/virtualdom": "^1.1.3" + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" } } }, - "@jupyterlab/rendermime": { + "@jupyterlab/notebook": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.0.tgz", - "integrity": "sha512-Alje439y7kHYsF6RmRnYGm6yYvUHoMeHk5Z6TcYMDsDq3DlE3Yx3Ra93ykMpY0ZtjtgGhFus78bPVOkUxg24hw==", + "resolved": "https://registry.npmjs.org/@jupyterlab/notebook/-/notebook-1.0.0.tgz", + "integrity": "sha512-3R1FVbvfNG7ADAWweUGs28kN43QM31ENIHmX7g2CdQq9r0xKgFcS5K1630Ot69Aok+I4jej5KJ2OIxMBUcuK2A==", "requires": { "@jupyterlab/apputils": "^1.0.0", - "@jupyterlab/codemirror": "^1.0.0", + "@jupyterlab/cells": "^1.0.0", + "@jupyterlab/codeeditor": "^1.0.0", "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.0", "@jupyterlab/observables": "^2.2.0", - "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/rendermime": "^1.0.0", "@jupyterlab/services": "^4.0.0", + "@jupyterlab/statusbar": "^1.0.0", + "@jupyterlab/ui-components": "^1.0.0", "@phosphor/algorithm": "^1.1.3", "@phosphor/coreutils": "^1.3.1", + "@phosphor/domutils": "^1.1.3", + "@phosphor/dragdrop": "^1.3.3", "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", "@phosphor/widgets": "^1.8.0", - "lodash.escape": "^4.0.1", - "marked": "0.6.2" + "react": "~16.8.4" }, "dependencies": { "@phosphor/algorithm": { @@ -2434,13 +3742,16 @@ } } }, - "@jupyterlab/rendermime-interfaces": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-1.3.0.tgz", - "integrity": "sha512-04ohT/xdTcdp/TKuNMqY1MLwh7IWyjbMrQXiuwanE8xo52fIe6OIK0DENwc6VDMej1+8NVSU7rX42urLCex0sA==", + "@jupyterlab/observables": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/observables/-/observables-2.2.0.tgz", + "integrity": "sha512-/oi7vl70yAX5QTXmZafyDSwU8fT1Oa/MdpDDYGkc5IklW0kU3NDqSoawfLovkdgGZvCOCM+6JQqUPRdhn8VZqg==", "requires": { + "@phosphor/algorithm": "^1.1.3", "@phosphor/coreutils": "^1.3.1", - "@phosphor/widgets": "^1.8.0" + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3" }, "dependencies": { "@phosphor/algorithm": { @@ -2456,15 +3767,80 @@ "@phosphor/algorithm": "^1.1.3" } }, - "@phosphor/commands": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.6.3.tgz", - "integrity": "sha512-PYNHWv6tbXAfAtKiqXuT0OBJvwbJ+RRTV60MBykMF7Vqz9UaZ9n2e/eB2EAGEFccF0PnjTCvBEZgarwwMVi8Hg==", - "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", - "@phosphor/domutils": "^1.1.3", + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", + "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/signaling": "^1.2.3" + } + }, + "@phosphor/messaging": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.2.3.tgz", + "integrity": "sha512-89Ps4uSRNOEQoepB/0SDoyPpNUWd6VZnmbMetmeXZJHsuJ1GLxtnq3WBdl7UCVNsw3W9NC610pWaDCy/BafRlg==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/collections": "^1.1.3" + } + }, + "@phosphor/signaling": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", + "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + } + } + }, + "@jupyterlab/outputarea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/outputarea/-/outputarea-1.0.0.tgz", + "integrity": "sha512-9RGsQAdxKf5xyvDsp1pB6VDoDzvB0JK+s5qFYK54lbK/p8EAvjNe2SsXzEHBH9wCnARFeHC0LssyyoX2ct7ujw==", + "requires": { + "@jupyterlab/apputils": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", + "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" + }, + "@phosphor/collections": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.1.3.tgz", + "integrity": "sha512-J2U1xd2e5LtqoOJt4kynrjDNeHhVpJjuY2/zA0InS5kyOuWmvy79pt/KJ22n0LBNcU/fjkImqtQmbrC2Z4q2xQ==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + }, + "@phosphor/commands": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.6.3.tgz", + "integrity": "sha512-PYNHWv6tbXAfAtKiqXuT0OBJvwbJ+RRTV60MBykMF7Vqz9UaZ9n2e/eB2EAGEFccF0PnjTCvBEZgarwwMVi8Hg==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", "@phosphor/keyboard": "^1.1.3", "@phosphor/signaling": "^1.2.3" } @@ -2552,67 +3928,24 @@ } } }, - "@jupyterlab/services": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.0.tgz", - "integrity": "sha512-yCchogfzZqGWXagDJDRxsEMbKwsmf+EFVJRzf5H5OKZs7c/0yNemhG2qjRSmcErD87nUezB3NHkJSVPqz11D3g==", - "requires": { - "@jupyterlab/coreutils": "^3.0.0", - "@jupyterlab/observables": "^2.2.0", - "@phosphor/algorithm": "^1.1.3", - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", - "@phosphor/signaling": "^1.2.3", - "node-fetch": "^2.6.0", - "ws": "^7.0.0" - }, - "dependencies": { - "@phosphor/algorithm": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", - "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" - }, - "@phosphor/coreutils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", - "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" - }, - "@phosphor/disposable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", - "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", - "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/signaling": "^1.2.3" - } - }, - "@phosphor/signaling": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", - "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", - "requires": { - "@phosphor/algorithm": "^1.1.3" - } - } - } - }, - "@jupyterlab/statusbar": { + "@jupyterlab/rendermime": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.0.tgz", - "integrity": "sha512-UjLsRdVCwHJjUApU+n9C6mQCbKfL+2wmCAeQXd1p5R3SXmsn2VGh6EWCW733uMY2+K2Fqwwjf8ryJ1LwUc9+iQ==", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.0.tgz", + "integrity": "sha512-Alje439y7kHYsF6RmRnYGm6yYvUHoMeHk5Z6TcYMDsDq3DlE3Yx3Ra93ykMpY0ZtjtgGhFus78bPVOkUxg24hw==", "requires": { "@jupyterlab/apputils": "^1.0.0", - "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.0", "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", "@jupyterlab/services": "^4.0.0", "@phosphor/algorithm": "^1.1.3", "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", "@phosphor/messaging": "^1.2.3", "@phosphor/signaling": "^1.2.3", "@phosphor/widgets": "^1.8.0", - "react": "~16.8.4", - "typestyle": "^2.0.1" + "lodash.escape": "^4.0.1", + "marked": "0.6.2" }, "dependencies": { "@phosphor/algorithm": { @@ -2665,62 +3998,1152 @@ "resolved": "https://registry.npmjs.org/@phosphor/dragdrop/-/dragdrop-1.3.3.tgz", "integrity": "sha512-+SrlGsVQwY8OHCWxE/Zvihpk6Rc6bytJDqOUUTZqdL8hvM9QZeopAFioPDxuo1pTj87Um6cR4ekvbTU4KZ/90w==", "requires": { - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0" + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0" + } + }, + "@phosphor/keyboard": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz", + "integrity": "sha512-dzxC/PyHiD6mXaESRy6PZTd9JeK+diwG1pyngkyUf127IXOEzubTIbu52VSdpGBklszu33ws05BAGDa4oBE4mQ==" + }, + "@phosphor/messaging": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.2.3.tgz", + "integrity": "sha512-89Ps4uSRNOEQoepB/0SDoyPpNUWd6VZnmbMetmeXZJHsuJ1GLxtnq3WBdl7UCVNsw3W9NC610pWaDCy/BafRlg==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/collections": "^1.1.3" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + }, + "@phosphor/signaling": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", + "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + }, + "@phosphor/virtualdom": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/virtualdom/-/virtualdom-1.1.3.tgz", + "integrity": "sha512-V8PHhhnZCRa5esrC4q5VthqlLtxTo9ZV1mZ6b4YEloapca1S1nggZSQhrSlltXQjtYNUaWJZUZ/BlFD8wFtIEQ==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + }, + "@phosphor/widgets": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@phosphor/widgets/-/widgets-1.8.1.tgz", + "integrity": "sha512-OY5T0nAioYTitPks/lCHm7a6QpjRB/XviIT2j6WtYm5J1U8MluIPpClqZ/NQbZfm23BYpmJeiQQyZA+5YphsDA==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/dragdrop": "^1.3.3", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3" + } + } + } + }, + "@jupyterlab/rendermime-extension": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime-extension/-/rendermime-extension-1.0.2.tgz", + "integrity": "sha512-LZ2/mYL58blb1wfRDSl7p5NFLk1UvKc8D25zFoPUXuCLVpw8ZFRQGiqUSWgyYTWl3VeyrEM81sELFpmR6DfeVQ==", + "requires": { + "@jupyterlab/application": "^1.0.2", + "@jupyterlab/docmanager": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2" + }, + "dependencies": { + "@jupyterlab/application": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.0.2.tgz", + "integrity": "sha512-B0cpY7eLN4e6t6n1ktejfUYb4c1wsizSEhORrLvQ/EiKBG5t++I87SKwxOFyZE2e6QVZoUDkGDM+n4xTX6tFRg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/application": "^1.6.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "font-awesome": "~4.7.0" + } + }, + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + } + } + }, + "@jupyterlab/rendermime-interfaces": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-1.3.0.tgz", + "integrity": "sha512-04ohT/xdTcdp/TKuNMqY1MLwh7IWyjbMrQXiuwanE8xo52fIe6OIK0DENwc6VDMej1+8NVSU7rX42urLCex0sA==", + "requires": { + "@phosphor/coreutils": "^1.3.1", + "@phosphor/widgets": "^1.8.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", + "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" + }, + "@phosphor/collections": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.1.3.tgz", + "integrity": "sha512-J2U1xd2e5LtqoOJt4kynrjDNeHhVpJjuY2/zA0InS5kyOuWmvy79pt/KJ22n0LBNcU/fjkImqtQmbrC2Z4q2xQ==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + }, + "@phosphor/commands": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.6.3.tgz", + "integrity": "sha512-PYNHWv6tbXAfAtKiqXuT0OBJvwbJ+RRTV60MBykMF7Vqz9UaZ9n2e/eB2EAGEFccF0PnjTCvBEZgarwwMVi8Hg==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/signaling": "^1.2.3" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", + "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/signaling": "^1.2.3" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/dragdrop": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@phosphor/dragdrop/-/dragdrop-1.3.3.tgz", + "integrity": "sha512-+SrlGsVQwY8OHCWxE/Zvihpk6Rc6bytJDqOUUTZqdL8hvM9QZeopAFioPDxuo1pTj87Um6cR4ekvbTU4KZ/90w==", + "requires": { + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0" + } + }, + "@phosphor/keyboard": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz", + "integrity": "sha512-dzxC/PyHiD6mXaESRy6PZTd9JeK+diwG1pyngkyUf127IXOEzubTIbu52VSdpGBklszu33ws05BAGDa4oBE4mQ==" + }, + "@phosphor/messaging": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.2.3.tgz", + "integrity": "sha512-89Ps4uSRNOEQoepB/0SDoyPpNUWd6VZnmbMetmeXZJHsuJ1GLxtnq3WBdl7UCVNsw3W9NC610pWaDCy/BafRlg==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/collections": "^1.1.3" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + }, + "@phosphor/signaling": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", + "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + }, + "@phosphor/virtualdom": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/virtualdom/-/virtualdom-1.1.3.tgz", + "integrity": "sha512-V8PHhhnZCRa5esrC4q5VthqlLtxTo9ZV1mZ6b4YEloapca1S1nggZSQhrSlltXQjtYNUaWJZUZ/BlFD8wFtIEQ==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + }, + "@phosphor/widgets": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@phosphor/widgets/-/widgets-1.8.1.tgz", + "integrity": "sha512-OY5T0nAioYTitPks/lCHm7a6QpjRB/XviIT2j6WtYm5J1U8MluIPpClqZ/NQbZfm23BYpmJeiQQyZA+5YphsDA==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/dragdrop": "^1.3.3", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3" + } + } + } + }, + "@jupyterlab/services": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.0.tgz", + "integrity": "sha512-yCchogfzZqGWXagDJDRxsEMbKwsmf+EFVJRzf5H5OKZs7c/0yNemhG2qjRSmcErD87nUezB3NHkJSVPqz11D3g==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", + "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", + "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/signaling": "^1.2.3" + } + }, + "@phosphor/signaling": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", + "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + } + } + }, + "@jupyterlab/shortcuts-extension": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/shortcuts-extension/-/shortcuts-extension-1.0.2.tgz", + "integrity": "sha512-YhSx9t/C+a809LQmOPIg8f7fU/5ClET7tT113iHVpZkN7mXRr1eymEex/AiUdaM/9QmH7AsP8pG3SxPbYz08sg==", + "requires": { + "@jupyterlab/application": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0" + }, + "dependencies": { + "@jupyterlab/application": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.0.2.tgz", + "integrity": "sha512-B0cpY7eLN4e6t6n1ktejfUYb4c1wsizSEhORrLvQ/EiKBG5t++I87SKwxOFyZE2e6QVZoUDkGDM+n4xTX6tFRg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/application": "^1.6.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "font-awesome": "~4.7.0" + } + }, + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + } + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.0.tgz", + "integrity": "sha512-UjLsRdVCwHJjUApU+n9C6mQCbKfL+2wmCAeQXd1p5R3SXmsn2VGh6EWCW733uMY2+K2Fqwwjf8ryJ1LwUc9+iQ==", + "requires": { + "@jupyterlab/apputils": "^1.0.0", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", + "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" + }, + "@phosphor/collections": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.1.3.tgz", + "integrity": "sha512-J2U1xd2e5LtqoOJt4kynrjDNeHhVpJjuY2/zA0InS5kyOuWmvy79pt/KJ22n0LBNcU/fjkImqtQmbrC2Z4q2xQ==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + }, + "@phosphor/commands": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.6.3.tgz", + "integrity": "sha512-PYNHWv6tbXAfAtKiqXuT0OBJvwbJ+RRTV60MBykMF7Vqz9UaZ9n2e/eB2EAGEFccF0PnjTCvBEZgarwwMVi8Hg==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/signaling": "^1.2.3" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", + "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/signaling": "^1.2.3" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/dragdrop": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@phosphor/dragdrop/-/dragdrop-1.3.3.tgz", + "integrity": "sha512-+SrlGsVQwY8OHCWxE/Zvihpk6Rc6bytJDqOUUTZqdL8hvM9QZeopAFioPDxuo1pTj87Um6cR4ekvbTU4KZ/90w==", + "requires": { + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0" + } + }, + "@phosphor/keyboard": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz", + "integrity": "sha512-dzxC/PyHiD6mXaESRy6PZTd9JeK+diwG1pyngkyUf127IXOEzubTIbu52VSdpGBklszu33ws05BAGDa4oBE4mQ==" + }, + "@phosphor/messaging": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.2.3.tgz", + "integrity": "sha512-89Ps4uSRNOEQoepB/0SDoyPpNUWd6VZnmbMetmeXZJHsuJ1GLxtnq3WBdl7UCVNsw3W9NC610pWaDCy/BafRlg==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/collections": "^1.1.3" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + }, + "@phosphor/signaling": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", + "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + }, + "@phosphor/virtualdom": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/virtualdom/-/virtualdom-1.1.3.tgz", + "integrity": "sha512-V8PHhhnZCRa5esrC4q5VthqlLtxTo9ZV1mZ6b4YEloapca1S1nggZSQhrSlltXQjtYNUaWJZUZ/BlFD8wFtIEQ==", + "requires": { + "@phosphor/algorithm": "^1.1.3" + } + }, + "@phosphor/widgets": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@phosphor/widgets/-/widgets-1.8.1.tgz", + "integrity": "sha512-OY5T0nAioYTitPks/lCHm7a6QpjRB/XviIT2j6WtYm5J1U8MluIPpClqZ/NQbZfm23BYpmJeiQQyZA+5YphsDA==", + "requires": { + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/dragdrop": "^1.3.3", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3" + } + } + } + }, + "@jupyterlab/theme-dark-extension": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/theme-dark-extension/-/theme-dark-extension-1.0.2.tgz", + "integrity": "sha512-BaWTxDIWLF/td0fuJLHlycJKOqig2MUMts1tOyQRHq3j/HuGiXJh/wbFfgXesbftYvsqvya2qPvDFAGUV2YpLw==", + "requires": { + "@jupyterlab/application": "^1.0.2", + "@jupyterlab/apputils": "^1.0.2" + }, + "dependencies": { + "@jupyterlab/application": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.0.2.tgz", + "integrity": "sha512-B0cpY7eLN4e6t6n1ktejfUYb4c1wsizSEhORrLvQ/EiKBG5t++I87SKwxOFyZE2e6QVZoUDkGDM+n4xTX6tFRg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/application": "^1.6.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "font-awesome": "~4.7.0" + } + }, + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + } + } + }, + "@jupyterlab/theme-light-extension": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/theme-light-extension/-/theme-light-extension-1.0.2.tgz", + "integrity": "sha512-m7ooUW1xzvRQmMj+v4QfWYR89U46c62UhTiAq6COEPQN9Hi1+3vFZaddDTOmffyTC/+Hgr91KPMgLNfUHYNG3w==", + "requires": { + "@jupyterlab/application": "^1.0.2", + "@jupyterlab/apputils": "^1.0.2" + }, + "dependencies": { + "@jupyterlab/application": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.0.2.tgz", + "integrity": "sha512-B0cpY7eLN4e6t6n1ktejfUYb4c1wsizSEhORrLvQ/EiKBG5t++I87SKwxOFyZE2e6QVZoUDkGDM+n4xTX6tFRg==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/docregistry": "^1.0.2", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/application": "^1.6.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "font-awesome": "~4.7.0" + } + }, + "@jupyterlab/apputils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.0.2.tgz", + "integrity": "sha512-3n/Dqau0s4v6+MjWLRuoZQrr/BdhEgmEj9Kfkw562b/KuXo+JtsLE3FVzvi7gMK2duPHqv4B56QP8sl1Z9Hyaw==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@jupyterlab/ui-components": "^1.0.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.2.3", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/virtualdom": "^1.1.3", + "@phosphor/widgets": "^1.8.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" + } + }, + "@jupyterlab/codemirror": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.0.2.tgz", + "integrity": "sha512-Hkmu7GVb4ke+DRAJpKQac78JjoizoblLicYAr5j1wa5ASxP4EiR+FNdQV61heD2U7ES0rSA9HmlHVFMQgldzCA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/statusbar": "^1.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" + } + }, + "@jupyterlab/docregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.0.2.tgz", + "integrity": "sha512-d6Z2IOe+48NheTpve2pAI6PfKN8VDx/NChhGE5V0YdQTHyNFea8GMRF9wHyP1o5NPuj3fx00gP73O6gfAwzqoA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime": "^1.0.2", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0" + } + }, + "@jupyterlab/rendermime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.0.2.tgz", + "integrity": "sha512-J2AyV15j0YL+5NYzRF/I9kencD6FnK1weX25nTIYYEd7XTac3FUAHRAzCDJC0/SFRwdNjNAywoAeswrN4si9LA==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codemirror": "^1.0.2", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@jupyterlab/rendermime-interfaces": "^1.3.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "lodash.escape": "^4.0.1", + "marked": "0.6.2" + } + }, + "@jupyterlab/services": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.0.2.tgz", + "integrity": "sha512-LnmOZuarzT6cN0jW4N1WZ91h9yE5+ArVtRtRZzZQ6pv4ydsuWGjcMVMMvmLLwC+FshKud6kTAB57f3JSkaoECA==", + "requires": { + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/observables": "^2.2.0", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/signaling": "^1.2.3", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + } + }, + "@jupyterlab/statusbar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.0.2.tgz", + "integrity": "sha512-edbmu+EwiK7gL2RY7GTNiejOgLEHyBxbZSU841qbdjf6iVrtVGSvvurzHwh/+3AIhQrgbzhB7SkXiCbMFCZz6g==", + "requires": { + "@jupyterlab/apputils": "^1.0.2", + "@jupyterlab/codeeditor": "^1.0.0", + "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/services": "^4.0.2", + "@phosphor/algorithm": "^1.1.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/messaging": "^1.2.3", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.8.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" } }, - "@phosphor/keyboard": { + "@phosphor/domutils": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz", - "integrity": "sha512-dzxC/PyHiD6mXaESRy6PZTd9JeK+diwG1pyngkyUf127IXOEzubTIbu52VSdpGBklszu33ws05BAGDa4oBE4mQ==" + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" }, "@phosphor/messaging": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.2.3.tgz", - "integrity": "sha512-89Ps4uSRNOEQoepB/0SDoyPpNUWd6VZnmbMetmeXZJHsuJ1GLxtnq3WBdl7UCVNsw3W9NC610pWaDCy/BafRlg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/collections": "^1.1.3" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" } }, "@phosphor/properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" - }, - "@phosphor/signaling": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", - "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", - "requires": { - "@phosphor/algorithm": "^1.1.3" - } - }, - "@phosphor/virtualdom": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/virtualdom/-/virtualdom-1.1.3.tgz", - "integrity": "sha512-V8PHhhnZCRa5esrC4q5VthqlLtxTo9ZV1mZ6b4YEloapca1S1nggZSQhrSlltXQjtYNUaWJZUZ/BlFD8wFtIEQ==", - "requires": { - "@phosphor/algorithm": "^1.1.3" - } - }, - "@phosphor/widgets": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@phosphor/widgets/-/widgets-1.8.1.tgz", - "integrity": "sha512-OY5T0nAioYTitPks/lCHm7a6QpjRB/XviIT2j6WtYm5J1U8MluIPpClqZ/NQbZfm23BYpmJeiQQyZA+5YphsDA==", - "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/commands": "^1.6.3", - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", - "@phosphor/domutils": "^1.1.3", - "@phosphor/dragdrop": "^1.3.3", - "@phosphor/keyboard": "^1.1.3", - "@phosphor/messaging": "^1.2.3", - "@phosphor/properties": "^1.1.3", - "@phosphor/signaling": "^1.2.3", - "@phosphor/virtualdom": "^1.1.3" - } } } }, @@ -2868,16 +5291,42 @@ } }, "@phosphor/commands": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.6.1.tgz", - "integrity": "sha512-iRgn7QX64e0VwZ91KFo964a/LVpw9XtiYIYtpymEyKY757NXvx6ZZMt1CqKfntoDcSZJeVte4eV8jJWhZoVlDA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.7.0.tgz", + "integrity": "sha512-2tkij4fiU0WcnUiY0H0kX9mQhdJms5X6s+X9Uzx5P+KJZm0B83VIC1OEb1YYDYh8ar+LMr0dBnM5ljvZbptUXw==", "requires": { - "@phosphor/algorithm": "^1.1.2", - "@phosphor/coreutils": "^1.3.0", - "@phosphor/disposable": "^1.1.2", - "@phosphor/domutils": "^1.1.2", - "@phosphor/keyboard": "^1.1.2", - "@phosphor/signaling": "^1.2.2" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/signaling": "^1.3.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + } } }, "@phosphor/coreutils": { @@ -2899,18 +5348,39 @@ "integrity": "sha1-4u/rBS85jEK5O4npurJq8VzABRQ=" }, "@phosphor/dragdrop": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@phosphor/dragdrop/-/dragdrop-1.3.0.tgz", - "integrity": "sha1-fOatOdbKIW1ipW94EE0Cp3rmcwc=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@phosphor/dragdrop/-/dragdrop-1.4.0.tgz", + "integrity": "sha512-JqmDAKczviUe7NEkiDf/A6H2glgVmHAREip8dGBli4lvV+CQqPFyl4Xm7XCnR9qiEqNrP+0SfwPpywNa0me3nQ==", "requires": { - "@phosphor/coreutils": "^1.3.0", - "@phosphor/disposable": "^1.1.2" + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + } } }, "@phosphor/keyboard": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.2.tgz", - "integrity": "sha1-PjIjRFF2QkCpjhSANNWoeXQi3R8=" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz", + "integrity": "sha512-dzxC/PyHiD6mXaESRy6PZTd9JeK+diwG1pyngkyUf127IXOEzubTIbu52VSdpGBklszu33ws05BAGDa4oBE4mQ==" }, "@phosphor/messaging": { "version": "1.2.2", @@ -2927,37 +5397,99 @@ "integrity": "sha1-eMx37/RSg52gIlXeSOgUlGzAmig=" }, "@phosphor/signaling": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.2.tgz", - "integrity": "sha1-P8+Xyojji/s1f+j+a/dRM0elFKk=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.0.tgz", + "integrity": "sha512-ZbG2Mof4LGSkaEuDicqA2o2TKu3i5zanjr2GkevI/82aKBD7cI1NGLGT55HZwtE87/gOF4FIM3d3DeyrFDMjMQ==", "requires": { - "@phosphor/algorithm": "^1.1.2" + "@phosphor/algorithm": "^1.2.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + } } }, "@phosphor/virtualdom": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@phosphor/virtualdom/-/virtualdom-1.1.2.tgz", - "integrity": "sha1-zlXIbu8x5dDiax3JbqMr1oRFj0E=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/virtualdom/-/virtualdom-1.2.0.tgz", + "integrity": "sha512-L9mKNhK2XtVjzjuHLG2uYuepSz8uPyu6vhF4EgCP0rt0TiLYaZeHwuNu3XeFbul9DMOn49eBpye/tfQVd4Ks+w==", "requires": { - "@phosphor/algorithm": "^1.1.2" + "@phosphor/algorithm": "^1.2.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + } } }, "@phosphor/widgets": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@phosphor/widgets/-/widgets-1.6.0.tgz", - "integrity": "sha512-HqVckVF8rJ15ss0Zf/q0AJ69ZKNFOO26qtNKAdGZ9SmmkSMf73X6pB0R3Fj5+Y4Sjl8ezIIKG6mXj+DxOofnwA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@phosphor/widgets/-/widgets-1.9.0.tgz", + "integrity": "sha512-Op6H0lI7MlHAs+htzy+6fL+x3TxG0N024RGsdIYkaNKyeSw6b7ZUXcd7mKCeabWPoTwiMCx3kiLTvExmNSYgwA==", "requires": { - "@phosphor/algorithm": "^1.1.2", - "@phosphor/commands": "^1.5.0", - "@phosphor/coreutils": "^1.3.0", - "@phosphor/disposable": "^1.1.2", - "@phosphor/domutils": "^1.1.2", - "@phosphor/dragdrop": "^1.3.0", - "@phosphor/keyboard": "^1.1.2", - "@phosphor/messaging": "^1.2.2", - "@phosphor/properties": "^1.1.2", - "@phosphor/signaling": "^1.2.2", - "@phosphor/virtualdom": "^1.1.2" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/dragdrop": "^1.4.0", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/messaging": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "@phosphor/virtualdom": "^1.2.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" + }, + "@phosphor/disposable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.0.tgz", + "integrity": "sha512-wHQov7HoS20mU6yuEz5ZMPhfxHdcxGovjPoid0QwccUEOm33UBkWlxaJGm9ONycezIX8je7ZuPOf/gf7JI6Dlg==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.0" + } + }, + "@phosphor/domutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.3.tgz", + "integrity": "sha512-5CtLAhURQXXHhNXfQydDk/luG1cDVnhlu/qw7gz8/9pht0KXIAmNg/M0LKxx2oJ9+YMNCLVWxAnHAU0yrDpWSA==" + }, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" + } + }, + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" + } } }, "@types/backbone": { @@ -3200,16 +5732,22 @@ "dev": true }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.1.tgz", + "integrity": "sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==", "dev": true }, - "acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", - "dev": true + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } }, "ajv-errors": { "version": "1.0.1", @@ -3476,9 +6014,9 @@ "dev": true }, "bluebird": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", - "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", "dev": true }, "bn.js": { @@ -3644,22 +6182,23 @@ "dev": true }, "cacache": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", - "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.2.tgz", + "integrity": "sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg==", "dev": true, "requires": { - "bluebird": "^3.5.3", + "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", + "glob": "^7.1.4", "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", + "rimraf": "^2.6.3", "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" @@ -3725,15 +6264,15 @@ } }, "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", + "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", "dev": true }, "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -4300,9 +6839,9 @@ "dev": true }, "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", + "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -4396,6 +6935,11 @@ "is-symbol": "^1.0.2" } }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -5738,10 +8282,10 @@ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", "dev": true }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, "inflight": { @@ -6046,6 +8590,12 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, "json5": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", @@ -6134,9 +8684,9 @@ } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash.clonedeep": { "version": "4.5.0", @@ -6164,9 +8714,9 @@ "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" }, "lodash.mergewith": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", - "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==" + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" }, "loose-envify": { "version": "1.4.0", @@ -6382,9 +8932,9 @@ } }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -6488,9 +9038,9 @@ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, "node-libs-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", - "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { "assert": "^1.1.1", @@ -6503,7 +9053,7 @@ "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", + "path-browserify": "0.0.1", "process": "^0.11.10", "punycode": "^1.2.4", "querystring-es3": "^0.2.0", @@ -6515,7 +9065,7 @@ "tty-browserify": "0.0.0", "url": "^0.11.0", "util": "^0.11.0", - "vm-browserify": "0.0.4" + "vm-browserify": "^1.0.1" }, "dependencies": { "punycode": { @@ -6834,9 +9384,9 @@ "dev": true }, "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-dirname": { @@ -7555,9 +10105,9 @@ "dev": true }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -7769,9 +10319,9 @@ } }, "source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -8047,68 +10597,31 @@ "dev": true }, "terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.3.tgz", + "integrity": "sha512-on13d+cnpn5bMouZu+J8tPYQecsdRJCJuxFJ+FVoPBoLJgk5bCBkp+Uen2hWyi0KIUm6eDarnlAlH+KgIx/PuQ==", "dev": true, "requires": { - "commander": "^2.19.0", + "commander": "^2.20.0", "source-map": "~0.6.1", - "source-map-support": "~0.5.10" + "source-map-support": "~0.5.12" } }, "terser-webpack-plugin": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.4.tgz", - "integrity": "sha512-64IiILNQlACWZLzFlpzNaG0bpQ4ytaB7fwOsbpsdIV70AfLUmIGGeuKL0YV2WmtcrURjE2aOvHD4/lrFV3Rg+Q==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", "dev": true, "requires": { - "cacache": "^11.3.2", - "find-cache-dir": "^2.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", "serialize-javascript": "^1.7.0", "source-map": "^0.6.1", - "terser": "^3.17.0", - "webpack-sources": "^1.3.0", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } } }, "through2": { @@ -8286,38 +10799,15 @@ "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "uniq": { @@ -8336,9 +10826,9 @@ } }, "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -8479,13 +10969,10 @@ } }, "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true }, "warning": { "version": "4.0.3", @@ -8507,71 +10994,41 @@ } }, "webpack": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.32.0.tgz", - "integrity": "sha512-ofFq9jjAn4HRzlmkcZZrjijbRZcqDw+mM9KrjKd0r6lS0qxyZ7jzICzhphGafXL62dGdjP7TgMK9mZeMLUgZgw==", + "version": "4.39.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.1.tgz", + "integrity": "sha512-/LAb2TJ2z+eVwisldp3dqTEoNhzp/TLCZlmZm3GGGAlnfIWDgOEE758j/9atklNLfRyhKbZTCOIoPqLJXeBLbQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-module-context": "1.8.5", "@webassemblyjs/wasm-edit": "1.8.5", "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.0.5", - "acorn-dynamic-import": "^4.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", + "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" }, "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } } } }, @@ -8595,9 +11052,9 @@ } }, "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", diff --git a/js/package.json b/js/package.json index f30044fe0..ebf2b0bc4 100644 --- a/js/package.json +++ b/js/package.json @@ -9,18 +9,28 @@ "@jupyter-widgets/controls": "^1.5.0", "@jupyter-widgets/jupyterlab-manager": "^1.0.0", "@jupyter-widgets/output": "^2.0.0", + "@jupyterlab/application-extension": "^1.0.0", + "@jupyterlab/apputils-extension": "^1.0.0", + "@jupyterlab/codemirror-extension": "^1.0.0", "@jupyterlab/coreutils": "^3.0.0", + "@jupyterlab/markdownviewer-extension": "^1.0.0", + "@jupyterlab/mathjax2-extension": "^1.0.0", "@jupyterlab/outputarea": "^1.0.0", "@jupyterlab/rendermime": "^1.0.0", + "@jupyterlab/rendermime-extension": "^1.0.0", "@jupyterlab/services": "^4.0.0", - "@phosphor/signaling": "^1.2.2", - "@phosphor/widgets": "^1.5.0", + "@jupyterlab/shortcuts-extension": "^1.0.0", + "@jupyterlab/theme-dark-extension": "^1.0.0", + "@jupyterlab/theme-light-extension": "^1.0.0", + "@phosphor/signaling": "^1.2.3", + "@phosphor/widgets": "^1.7.0", "core-js": "^3.1.0", "font-awesome": "^4.7.0" }, "devDependencies": { "@babel/cli": "^7.2.3", "@babel/core": "^7.2.2", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", "@babel/preset-env": "^7.3.1", "babel-loader": "^8.0.5", "css-loader": "^3.0.0", @@ -28,13 +38,15 @@ "npm-run-all": "^4.1.5", "style-loader": "^0.23.1", "url-loader": "^1.0.0", - "webpack": "^4.29.3", + "webpack": "^4.33.0", "webpack-cli": "^3.2.3" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "prepare": "npm run build:lib && webpack", + "prepublishOnly": "npm run build:all", "build:lib": "babel src --out-dir lib", + "build:bundle": "webpack", + "build:all": "npm run build:lib && npm run build:bundle", "watch": "npm-run-all -p watch:*", "watch:lib": "babel src --out-dir lib --watch", "watch:bundle": "webpack --watch --mode=development" diff --git a/js/src/index.js b/js/src/index.js index 5482d07ff..19ce08864 100644 --- a/js/src/index.js +++ b/js/src/index.js @@ -9,4 +9,9 @@ export { RenderMimeRegistry, standardRendererFactories } from '@jupyterlab/rendermime'; export { WidgetManager } from './manager'; +import { WidgetManager } from './manager'; export { connectKernel } from './kernel' + +export function createWidgetManager(kernel) { + return new WidgetManager(kernel); +} diff --git a/js/src/labindex.js b/js/src/labindex.js new file mode 100644 index 000000000..7b10ab407 --- /dev/null +++ b/js/src/labindex.js @@ -0,0 +1,122 @@ +// Copyright (c) Jupyter Development Team. +// Distributed under the terms of the Modified BSD License. + + +import { PageConfig, URLExt } from '@jupyterlab/coreutils'; +__webpack_public_path__ = URLExt.join(PageConfig.getBaseUrl(), 'voila/static/'); + +import { JupyterLab } from '@jupyterlab/application'; + +import { + IRenderMimeRegistry, + RenderMimeRegistry, + standardRendererFactories, + ILatexTypesetter +} from '@jupyterlab/rendermime'; + +import { PromiseDelegate } from '@phosphor/coreutils'; + +import { WidgetRenderer } from '@jupyter-widgets/jupyterlab-manager'; + +import * as base from '@jupyter-widgets/base'; + +export { connectKernel } from './kernel'; + +import { VoilaManager } from './labmanager'; + +export { VoilaManager } from './labmanager'; + + +const WIDGET_VIEW_MIMETYPE = 'application/vnd.jupyter.widget-view+json'; + + +/** + * Activate the rendermine plugin. + */ +function activateRenderMime(app, latexTypesetter) { + return new RenderMimeRegistry({ + initialFactories: standardRendererFactories, + latexTypesetter + }); +} + + +export async function createWidgetManager(kernel, extensions) { + + import('font-awesome/css/font-awesome.min.css'); + + const managerPromise = new PromiseDelegate(); + + /** + * The widget manager provider. + */ + const plugin = { + id: 'voila:widget-manager-plugin', + requires: [IRenderMimeRegistry], + provides: base.IJupyterWidgetRegistry, + activate: (app, rendermime) => { + + const wManager = new VoilaManager(kernel, rendermime); + + // Add a placeholder widget renderer. + rendermime.addFactory({ + safe: false, + mimeTypes: [WIDGET_VIEW_MIMETYPE], + createRenderer: options => new WidgetRenderer(options, wManager) + }, 0); + + wManager.restored.connect(() => { + managerPromise.resolve(wManager); + }); + + return { + registerWidget(data) { + wManager.register(data); + } + }; + }, + autoStart: true + }; + + + /** + * A plugin providing a rendermime registry. + */ + const renderMimePluign = { + id: 'voila:rendermime-plugin', + requires: [], + optional: [ILatexTypesetter], + provides: IRenderMimeRegistry, + activate: activateRenderMime, + autoStart: true + }; + + let mods = [ + import('@jupyterlab/application-extension'), + import('@jupyterlab/apputils-extension'), + import('@jupyterlab/codemirror-extension'), + import('@jupyterlab/markdownviewer-extension'), + import('@jupyterlab/mathjax2-extension'), + import('@jupyterlab/rendermime-extension'), + import('@jupyterlab/shortcuts-extension'), + import('@jupyterlab/theme-dark-extension'), + import('@jupyterlab/theme-light-extension'), + renderMimePluign, + plugin + ]; + if (extensions) { + mods = mods.concat(extensions); + } + const lab = new JupyterLab({ + name: 'JupyterLab Voila App', + namespace: 'voila-lab-manager', + version: require('../package.json').version + }); + lab.registerPluginModules(mods); + lab.start().then(() => { + // eslint-disable-next-line + console.log('Voila lab app started!'); + }); + + return managerPromise.promise; +} diff --git a/js/src/labmanager.js b/js/src/labmanager.js new file mode 100644 index 000000000..71e0cb302 --- /dev/null +++ b/js/src/labmanager.js @@ -0,0 +1,337 @@ +// Copyright (c) Jupyter Development Team. +// Distributed under the terms of the Modified BSD License. + +import * as base from '@jupyter-widgets/base'; + +// We import only the version from the specific module in controls so that the +// controls code can be split and dynamically loaded in webpack. +import { + JUPYTER_CONTROLS_VERSION +} from '@jupyter-widgets/controls/lib/version'; + + +import { OutputArea, OutputAreaModel } from '@jupyterlab/outputarea'; + +import '@jupyter-widgets/base/css/index.css'; +import '@jupyter-widgets/controls/css/widgets-base.css'; + +import { + Widget +} from '@phosphor/widgets'; + +import { Signal } from '@phosphor/signaling'; + +import { valid } from 'semver'; + +import { SemVerCache } from '@jupyter-widgets/jupyterlab-manager/lib/semvercache'; + +import { BackboneViewWrapper } from '@jupyter-widgets/jupyterlab-manager/lib/manager'; + +import { output } from '@jupyter-widgets/jupyterlab-manager'; + +import { + ManagerBase, + shims, + put_buffers, +} from '@jupyter-widgets/base'; + + +export class VoilaManager extends ManagerBase { + constructor(kernel, rendermime) { + super(); + this._kernel = kernel; + this._rendermime = rendermime; + + this._registry = new SemVerCache(); + + this._restored = new Signal(this); + + // Set _handleCommOpen so `this` is captured. + this._handleCommOpen = async (comm, msg) => { + let oldComm = new shims.services.Comm(comm); + await this.handle_comm_open(oldComm, msg); + }; + + kernel.statusChanged.connect((sender, args) => { + this._handleKernelStatusChange(args); + }); + + kernel.registerCommTarget(this.comm_target_name, this._handleCommOpen); + + this._registerWidgets(); + + this.restoreWidgets(); + + } + + async build_widgets(rootNode) { + rootNode = rootNode || document.body; + const outputs = rootNode.querySelectorAll('script[type="application/x.voila-lab-output+json"]'); + for (let i = 0; i != outputs.length; ++i) { + const node = outputs[i]; + try { + const model = new OutputAreaModel(); + const data = JSON.parse(node.innerText); + model.fromJSON(data.outputs); + model.trusted = true; + const view = new OutputArea({ + model, + rendermime: this.rendermime + }); + Widget.attach(view, node.parentNode, node); + node.remove(); + } catch (error) { + console.error(error); + // Each widget view tag rendering is wrapped with a try-catch statement. + // + // This fixes issues with widget models that are explicitely "closed" + // but are still referred to in a previous cell output. + // Without the try-catch statement, this error interupts the loop and + // prevents the rendering of further cells. + // + // This workaround may not be necessary anymore with templates that make use + // of progressive rendering. + } + } + } + + _registerWidgets() { + this.register({ + name: '@jupyter-widgets/base', + version: base.JUPYTER_WIDGETS_VERSION, + exports: { + WidgetModel: base.WidgetModel, + WidgetView: base.WidgetView, + DOMWidgetView: base.DOMWidgetView, + DOMWidgetModel: base.DOMWidgetModel, + LayoutModel: base.LayoutModel, + LayoutView: base.LayoutView, + StyleModel: base.StyleModel, + StyleView: base.StyleView + } + }); + + this.register({ + name: '@jupyter-widgets/controls', + version: JUPYTER_CONTROLS_VERSION, + exports: () => { + return new Promise((resolve, reject) => { + resolve(import('@jupyter-widgets/controls')); + }); + } + }); + + this.register({ + name: '@jupyter-widgets/output', + version: output.OUTPUT_WIDGET_VERSION, + exports: output + }); + } + + + _handleKernelStatusChange(args) { + switch (args) { + case 'connected': + this.restoreWidgets(); + break; + case 'restarting': + this.disconnect(); + break; + default: + } + } + + /** + * Restore widgets from kernel and saved state. + */ + async restoreWidgets() { + await this._loadFromKernel(); + this._restored.emit(); + } + + async _loadFromKernel() { + if (!this._kernel) { + return; + } + await this._kernel.ready; + const comm_ids = await this._get_comm_info(); + + // For each comm id, create the comm, and request the state. + const widgets_info = await Promise.all(Object.keys(comm_ids).map(async (comm_id) => { + const comm = await this._create_comm(this.comm_target_name, comm_id); + const update_promise = new Promise((resolve, reject) => { + comm.on_msg((msg) => { + put_buffers(msg.content.data.state, msg.content.data.buffer_paths, msg.buffers); + // A suspected response was received, check to see if + // it's a state update. If so, resolve. + if (msg.content.data.method === 'update') { + resolve({ + comm: comm, + msg: msg + }); + } + }); + }); + comm.send({ + method: 'request_state' + }, this.callbacks(undefined)); + + return await update_promise; + })); + + // We put in a synchronization barrier here so that we don't have to + // topologically sort the restored widgets. `new_model` synchronously + // registers the widget ids before reconstructing their state + // asynchronously, so promises to every widget reference should be available + // by the time they are used. + await Promise.all(widgets_info.map(async widget_info => { + const content = widget_info.msg.content; + await this.new_model({ + model_name: content.data.state._model_name, + model_module: content.data.state._model_module, + model_module_version: content.data.state._model_module_version, + comm: widget_info.comm, + }, content.data.state); + })); + } + + /** + * Return a phosphor widget representing the view + */ + async display_view(msg, view, options) { + return view.pWidget || new BackboneViewWrapper(view); + } + + /** + * Create a comm. + */ + async _create_comm(target_name, model_id, data, metadata, buffers) { + let comm = this._kernel.connectToComm(target_name, model_id); + if (data || metadata) { + comm.open(data, metadata, buffers); + } + return new shims.services.Comm(comm); + } + + /** + * Get the currently-registered comms. + */ + async _get_comm_info() { + const reply = await this._kernel.requestCommInfo({ + target: this.comm_target_name + }); + return reply.content.comms; + } + + /** + * Get whether the manager is disposed. + * + * #### Notes + * This is a read-only property. + */ + get isDisposed() { + return this._kernel === null; + } + + /** + * Dispose the resources held by the manager. + */ + dispose() { + if (this.isDisposed) { + return; + } + + if (this._commRegistration) { + this._commRegistration.dispose(); + } + this._kernel = null; + } + + /** + * Resolve a URL relative to the current notebook location. + */ + async resolveUrl(url) { + const partial = await this.context.urlResolver.resolveUrl(url); + return this.context.urlResolver.getDownloadUrl(partial); + } + + /** + * Load a class and return a promise to the loaded object. + */ + async loadClass(className, moduleName, moduleVersion) { + + // Special-case the Jupyter base and controls packages. If we have just a + // plain version, with no indication of the compatible range, prepend a ^ to + // get all compatible versions. We may eventually apply this logic to all + // widget modules. See issues #2006 and #2017 for more discussion. + if ((moduleName === '@jupyter-widgets/base' || + moduleName === '@jupyter-widgets/controls' || + moduleName === '@jupyter-widgets/output') && + valid(moduleVersion)) { + moduleVersion = `^${moduleVersion}`; + } + + const mod = this._registry.get(moduleName, moduleVersion); + if (!mod) { + throw new Error(`Module ${moduleName}, semver range ${moduleVersion} is not registered as a widget module`); + } + let module; + if (typeof mod === 'function') { + module = await mod(); + } else { + module = await mod; + } + const cls = module[className]; + if (!cls) { + throw new Error(`Class ${className} not found in module ${moduleName}`); + } + return cls; + } + + get kernel() { + return this._kernel; + } + + get rendermime() { + return this._rendermime; + } + + get context() { + console.debug('Shimming context...'); + return { + session: { + kernel: this._kernel, + kernelChanged: { connect: () => {}} + } + }; + } + + /** + * A signal emitted when state is restored to the widget manager. + * + * #### Notes + * This indicates that previously-unavailable widget models might be available now. + */ + get restored() { + return this._restored; + } + + register(data) { + this._registry.set(data.name, data.version, data.exports); + } + + /** + * Get a model + * + * #### Notes + * Unlike super.get_model(), this implementation always returns a promise and + * never returns undefined. The promise will reject if the model is not found. + */ + async get_model(model_id) { + const modelPromise = super.get_model(model_id); + if (modelPromise === undefined) { + throw new Error('widget model not found'); + } + return modelPromise; + } +} diff --git a/js/webpack.config.js b/js/webpack.config.js index 1b43be027..a918aad4a 100644 --- a/js/webpack.config.js +++ b/js/webpack.config.js @@ -26,5 +26,15 @@ module.exports = [ }, module: { rules: rules }, devtool: 'source-map' + }, + { + entry: ['./lib/labindex.js'], + output: { + filename: 'voila-lab.js', + path: distRoot, + libraryTarget: 'amd' + }, + module: { rules: rules }, + devtool: 'source-map' } ] diff --git a/share/jupyter/voila/templates/default/nbconvert_templates/base.tpl b/share/jupyter/voila/templates/default/nbconvert_templates/base.tpl index b2a6bba3d..7e0686241 100644 --- a/share/jupyter/voila/templates/default/nbconvert_templates/base.tpl +++ b/share/jupyter/voila/templates/default/nbconvert_templates/base.tpl @@ -1,4 +1,4 @@ -{%- extends 'lab.tpl' -%} +{%- extends 'full-lab.tpl' -%} {% from 'mathjax.tpl' import mathjax %} {%- block header -%} diff --git a/share/jupyter/voila/templates/default/nbconvert_templates/full-lab.tpl b/share/jupyter/voila/templates/default/nbconvert_templates/full-lab.tpl new file mode 100644 index 000000000..249c81ef4 --- /dev/null +++ b/share/jupyter/voila/templates/default/nbconvert_templates/full-lab.tpl @@ -0,0 +1,13 @@ +{%- extends 'lab.tpl' -%} + + + {%- block output_group -%} + +{%- endblock output_group -%} diff --git a/share/jupyter/voila/templates/default/nbconvert_templates/voila.tpl b/share/jupyter/voila/templates/default/nbconvert_templates/voila.tpl index ae0000861..bc8084ac0 100644 --- a/share/jupyter/voila/templates/default/nbconvert_templates/voila.tpl +++ b/share/jupyter/voila/templates/default/nbconvert_templates/voila.tpl @@ -2,7 +2,7 @@ {% from 'mathjax.tpl' import mathjax %} {%- block html_head_css -%} - + {% if resources.theme == 'dark' %} diff --git a/share/jupyter/voila/templates/default/static/main.js b/share/jupyter/voila/templates/default/static/main.js index 99b6b4820..74bd59b32 100644 --- a/share/jupyter/voila/templates/default/static/main.js +++ b/share/jupyter/voila/templates/default/static/main.js @@ -6,11 +6,12 @@ * The full license is in the file LICENSE, distributed with this software. * ****************************************************************************/ + // NOTE: this file is not transpiled, async/await is the only modern feature we use here -require(['static/voila'], function(voila) { +require(['static/voila-lab'], function(voila) { // requirejs doesn't like to be passed an async function, so create one inside (async function() { - var kernel = await voila.connectKernel() + var kernel = await voila.connectKernel(); const context = { session: { @@ -35,9 +36,10 @@ require(['static/voila'], function(voila) { initialFactories: voila.standardRendererFactories }); - var widgetManager = new voila.WidgetManager(context, rendermime, settings); + var widgetManager = await voila.createWidgetManager(context, rendermime, settings); function init() { + // TODO: Pass root node of voila? widgetManager.build_widgets(); // it seems if we attach this to early, it will not be called window.addEventListener('beforeunload', function (e) {